将WebEngine从一个.java文件引用到另一个.java文件

时间:2013-03-22 14:51:41

标签: reference javafx-2 javafx

以下是使用WebEngine对象的文件ClientArea.java(位于 demoapp 文件夹中)。

public class ClientArea implements Initializable {
    public WebEngine engine;

    @Override
    public void initialize(URL url, ResourceBundle rb) {
        engine = browser.getEngine();
        engine.load("about:blank");
    }
}

我想将它引用到另一个文件(Undecorator.java),该文件位于 insidefx.undecorator

文件夹中

如何制作此参考资料?

1 个答案:

答案 0 :(得分:1)

我解决了类似的问题,如下所示:在加载fxml文件的地方,你可以得到控制器的任何元素,并提供对其他控制器的引用。

FXMLLoader fxmlLoader = new FXMLLoader();
fxmlLoader.setBuilderFactory(new JavaFXBuilderFactory());

fxmlLoader.setLocation(...); // set a URL for the ClientArea.fxml
try {
   fxmlLoader.load();
} catch (IOException ex) {
   ...
}
ClientArea cacontroller = (ClientArea) fxmlLoader.getController();

WebEngine engine = cacontroller.getEngine(); // add a getter method in ClientArea

fxmlLoader.setLocation(...); // set a URL for the Undecorator.fxml
try {
   fxmlLoader.load();
} catch (IOException ex) {
   ...
}
Undecorator ucontroller = (Undecorator) fxmlLoader.getController();
ucontroller.setEngine(engine); // add a setter method in Undecorator