【发布时间】:2013-04-27 23:45:08
【问题描述】:
我正在尝试在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 设为全局和静态,还是有其他方法可以访问它们?
【问题讨论】:
-
为什么要将控制器加载的面板包装在 BorderPanel 中?
-
实际上我会在地图周围添加文本字段。我还将在底部添加一个播放器菜单。这就是我选择边框窗格并包装面板的原因。