java - 从另一个类(JavaFX 的 Controller 类)获取变量

标签 java javafx-2 javafx fxml

我正在尝试在 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 类访问 rootborderPane ,它是:

public class SampleController implements Initializable {

    @Override
    public void initialize(URL url, ResourceBundle rb) {
        // TODO
    }
}

我应该将 rootborderPane 设为全局和静态吗?还是有其他方法可以访问它们?

最佳答案

可以使用 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/

相关文章:

java - Spring MVC中如何使用getById方法获取对应的名称?

java - 向 map 添加多个地理围栏

java - 如何在 JavaFX 中移动形状?

java - 如何让maven在linux上请求正确的javafx依赖

java - 使用 Java SE 8u25 无法在 Eclipse 中解析某些 javafx 类

Java将字节数组转换为UTF-8字符串

java - 来自浏览器的延迟/Ping 测试

java - 如何从一个 Java FXML Controller 中从另一个 FXML Controller 获取数据(这些 Controller 不是嵌套 Controller )?

java - 如何使用 JavaFX 创建一个通知气泡,类似于 iPhone 菜单上的通知标记?

frame - 如何将 JavaFX 阶段/框架设置为最大化