如何从 Controller class 中的 Main class 获取 Stackpane?
How to get Stackpane from Main class in Controller class?
为了熟悉场景生成器,我在场景生成器的堆栈窗格中添加了一个折线图和两个数轴作为节点。
父节点将被加载到 mainApp.java:
public class CsvCommander extends Application {
@Override
public void start(Stage stage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml"));
Scene scene = new Scene(root);
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
现在,为了进一步操作,我想获取 FXMLDocument.fxml 中父级的堆栈窗格,但我不知道如何...
例如
StackPane container = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml") 之类的。
如何在控制器通道中获取我的根节点或堆栈窗格?
在FXML文件的根元素上放一个fx:id
,然后像其他元素一样注入控制器:
FXML 文件:
<!-- imports etc -->
<StackPane xmlns="..." fx:controller="com.example.MyControllerClass" fx:id="container">
<!-- nodes etc -->
</StackPane>
控制器:
public class MyControllerClass {
@FXML // will be initialized by FXMLLoader
private StackPane container ;
public void initialize() {
// do something with container....
}
}
为了熟悉场景生成器,我在场景生成器的堆栈窗格中添加了一个折线图和两个数轴作为节点。 父节点将被加载到 mainApp.java:
public class CsvCommander extends Application {
@Override
public void start(Stage stage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml"));
Scene scene = new Scene(root);
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
现在,为了进一步操作,我想获取 FXMLDocument.fxml 中父级的堆栈窗格,但我不知道如何...
例如
StackPane container = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml") 之类的。
如何在控制器通道中获取我的根节点或堆栈窗格?
在FXML文件的根元素上放一个fx:id
,然后像其他元素一样注入控制器:
FXML 文件:
<!-- imports etc -->
<StackPane xmlns="..." fx:controller="com.example.MyControllerClass" fx:id="container">
<!-- nodes etc -->
</StackPane>
控制器:
public class MyControllerClass {
@FXML // will be initialized by FXMLLoader
private StackPane container ;
public void initialize() {
// do something with container....
}
}