如何从另一个类加载WebEngine中的内容

时间:2015-02-16 09:16:58

标签: java javafx

我有3节课。我有Main,它使用testcontroller加载我的test.fxml。然后我得到GUI.fxml(WebView)和GUIController.java的包帮助。

我想将我的一个HTML-TestPages加载到WebView(WebEngine)中但是我得到一个NullpointerException ......

我的方式:我使用此FXML中的test.fxml启动我的应用程序是一个打开GUI.fxml并尝试使用test1.html的按钮。但我在WebEngine var。

上得到了NullpointerException

公共类TestController实现Initializable {

@FXML Button test;

Stage testSt = new Stage();

GUIController HelpSys = GUIController.getInstance();

public void openHelp(ActionEvent ev){
    try{
    Parent root = FXMLLoader.load(getClass().getResource("/help/GUI.fxml"));
    Scene scene = new Scene(root);
    testSt.setResizable(false);
    testSt.setScene(scene);
    testSt.setTitle("[toolhouse] Burn/In-Builder für toolstar®TestLX - v1.0"); 
    testSt.show();
    HelpSys.loadCont("test2.html");
    }catch(IOException ex){
    System.out.println("TestWindow: "+ex);
    }
}



@Override
public void initialize(URL url, ResourceBundle rb) {
    test.setOnAction(this::openHelp);
    System.out.println(HelpSys);
}    

}

public class GUIController实现Initializable {

public static final GUIController singleton = new GUIController( );

public static GUIController getInstance( ) {
  return singleton;

}

@FXML WebView wv;
@FXML TreeView tv;

private WebEngine we;

public void loadCont(String cont){
    WebEngine engine = wv.getEngine();
    System.out.println(we);
    System.out.println(cont);
    engine.loadContent(cont);
}

@Override
public void initialize(URL url, ResourceBundle rb) {
    this.we=wv.getEngine();
    we.loadContent("test1.html");
}    

}

My ExceptionCode:

Exception in thread "JavaFX Application Thread" java.lang.NullPointerException
at help.GUIController.loadCont(GUIController.java:35)
at helpsystem.TestController.openHelp(TestController.java:43)
at helpsystem.TestController$$Lambda$68/32347426.handle(Unknown Source)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
at javafx.event.Event.fireEvent(Event.java:198)
at javafx.scene.Node.fireEvent(Node.java:8216)
at javafx.scene.control.Button.fire(Button.java:185)
at com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:182)
at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:96)
at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:89)
at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
at javafx.event.Event.fireEvent(Event.java:198)
at javafx.scene.Scene$MouseHandler.process(Scene.java:3724)
at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3452)
at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1728)
at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2461)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:348)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:273)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:382)
at com.sun.glass.ui.View.handleMouseEvent(View.java:553)
at com.sun.glass.ui.View.notifyMouse(View.java:925)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$141(WinApplication.java:102)
at com.sun.glass.ui.win.WinApplication$$Lambda$37/29531133.run(Unknown Source)
at java.lang.Thread.run(Thread.java:745)

0 个答案:

没有答案