我正在尝试在 JavaFX
上实现游戏。此外,我正在处理 FXML
文件,因此我有一个 main
类和 controller
类。我的问题是如何从 controller
类访问 main
类的对象。为了更清楚,我将分享一个简单的代码。
这是主类:
public class JavaFXApplication1 extends Application {
@Override
public void start(Stage primaryStage) throws IOException {
Parent root = FXMLLoader.load(getClass().getResource("Risk3.fxml"));
// Main Pane
BorderPane borderPane = new BorderPane();
borderPane.setCenter(root);
// Main scene
Scene scene = new Scene(borderPane);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
例如,我想从 controller
类访问 root
或 borderPane
,它是:
public class SampleController implements Initializable {
@Override
public void initialize(URL url, ResourceBundle rb) {
// TODO
}
}
我应该将 root
和 borderPane
设为全局和静态吗?还是有其他方法可以访问它们?
最佳答案
可以使用 FXML
Controller 轻松访问 root
面板
@FXML
标记与任何组件一样。
<BorderPane xmlns:fx="http://javafx.com/fxml" fx:id="root">
...
</BorderPane>
关于java - 从另一个类(JavaFX 的 Controller 类)获取变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16258059/