2017-01-08 1 views
0

문제가 있습니다. 나는 SceneBuilder와 JavaFX를 사용했다. SceneBuilder에서 레이어를 사용할 때 자바에서로드하려고했습니다. 나는 오류 메시지가 아래에있어 내 fxml 파일 Caused by: java.lang.ClassNotFoundException: com.gluonhq.charm.glisten.layout.Layer과의이 레이어 com.gluonhq.charm.glisten.layout.Layer를 해결할 수 없다고 :scenebuilder layer class nototfound

javafx.fxml.LoadException: 
/C:/Projects/des_project2/target/classes/view/user/UserMainView.fxml 
    at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2601) 
    at javafx.fxml.FXMLLoader.importClass(FXMLLoader.java:2848) 
    at javafx.fxml.FXMLLoader.processImport(FXMLLoader.java:2692) 
    at javafx.fxml.FXMLLoader.processProcessingInstruction(FXMLLoader.java:2661) 
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2517) 
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2441) 
    at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2409) 
    at controller.UserController.<init>(UserController.java:26) 
    at controller.MainController.<init>(MainController.java:23) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 
    at java.lang.Class.newInstance(Class.java:442) 
    at sun.reflect.misc.ReflectUtil.newInstance(ReflectUtil.java:51) 
    at javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:927) 
    at javafx.fxml.FXMLLoader$InstanceDeclarationElement.processAttribute(FXMLLoader.java:971) 
    at javafx.fxml.FXMLLoader$Element.processStartElement(FXMLLoader.java:220) 
    at javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:744) 
    at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2707) 
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2527) 
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2441) 
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3214) 
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3175) 
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3148) 
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3124) 
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3104) 
    at javafx.fxml.FXMLLoader.load(FXMLLoader.java:3097) 
    at window.MainApp.start(MainApp.java:18) 
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(LauncherImpl.java:863) 
    at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(PlatformImpl.java:326) 
    at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294) 
    at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95) 
    at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) 
    at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: java.lang.ClassNotFoundException: com.gluonhq.charm.glisten.layout.Layer 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    at javafx.fxml.FXMLLoader.loadTypeForPackage(FXMLLoader.java:2916) 
    at javafx.fxml.FXMLLoader.loadType(FXMLLoader.java:2905) 
    at javafx.fxml.FXMLLoader.importClass(FXMLLoader.java:2846) 
    ... 36 more 

그것은에 의한 원인은 말한다.

도와 주시겠습니까? 미리 감사드립니다.

+0

이 라이브러리의 구성 요소 (com.gluonhq.charm.glisten)를 프로젝트 경로에 올바르게 추가 했습니까? –

+0

@BoHalim 아니, 나는하지 않았다. JavaFx의 라이브러리가 아닙니까? 그렇다면이 라이브러리를 프로젝트 경로에 어떻게 추가 할 수 있습니까? – Rodrix

답변

1

메뉴, 도형, 3D 등의 다른 패널에있는 씬 빌더뿐만 아니라 씬 빌더의 컨테이너 또는 컨트롤 패널에 포함 된 모든 구성 요소를 사용할 수 있습니다. JavaFX 구성 요소.

그러나 Gluon Mobile 패널에 포함 된 것들은 일반적인 JavaFX 구성 요소가 아닙니다.

이러한 구성 요소는 글루온 모바일 library에 포함되어, 당신은 당신이 적절한 종속성을 포함 제공,뿐만 아니라 당신의 프로젝트에 사용할 수있다.

좋아하는 IDE (NetBeans, IntelliJ 또는 Eclipse)에서 Gluon IDE plugin을 사용하는 것이 가장 좋은 방법입니다. 는 글루온 모바일 종속성을 포함, 플러그인을 설치하고 새 프로젝트를 만들 :

dependencies { 
    compile 'com.gluonhq:charm:4.3.0' 
} 

당신은 글루온 모바일 선택할 수 있습니다 - FXML과 멀티 뷰 또는 템플릿 - 애프터 버너의 반짝. 둘 다 FXML을 사용하고 Scene Builder 8.3.0을 사용하여 프로젝트의 뷰를 디자인 할 수 있습니다.

이 프로젝트는 데스크톱과 모바일 (Android 및 iOS)에서 동일한 코드베이스를 사용하여 실행할 수 있습니다.

라이브러리는 무료는 아니지만 라이센스없이 완전히 탐색 할 수 있습니다.

+0

지금 받으 셨습니다. 대단히 감사합니다. d – Rodrix