Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reference 将WebEngine从一个.java文件引用到另一个.java文件_Reference_Javafx 2_Javafx - Fatal编程技术网

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

Reference 将WebEngine从一个.java文件引用到另一个.java文件,reference,javafx-2,javafx,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(); en

下面是使用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中


如何进行此引用?

我解决了如下类似问题:在加载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
您所说的“WebEngine示例”是什么意思?上面的例子是“使用WebEngine”。实际上,您可以使用此技巧引用任何对象(属于其他控制器)。