JavaFX : how to change a scene included in the center of a BorderPane

标签 java javafx-8

当我单击超链接时,我想更改主应用程序中边框 Pane 中心的场景。所以我的程序编码如下

private BorderPane borderPane;
    private AnchorPane connectionPage;
    @FXML
    private Hyperlink hyperLink1; 

    @FXML
    private void handleHyperLink1OnAction () {
        try {
            connectionPage=FXMLLoader.load(getClass().getResource("ConnectionViewer.fxml"));
        } catch (Exception e) {
            System.out.println(e.getStackTrace().toString());
            System.out.println(e.getMessage());
        }
        borderPane.setCenter(connectionPage);
    }

这是我的主要应用程序

public void start(Stage primaryStage) throws Exception {
        Parent welcomePage = FXMLLoader.load(getClass().getResource("ManagerWorldViewer.fxml"));

        Scene scene = new Scene(welcomePage);

        primaryStage.setScene(scene);
        primaryStage.show();
    }

一旦我运行这个程序,没有任何变化,也没有发生错误。请帮助我

最佳答案

我错过了 @FXML 注释。所以我将源代码更改为..

@FXML
    private BorderPane borderPane;
@FXML
    private AnchorPane anchorPane;

private void changeScreenOfCenter(String path, VBox menuVBox) {
        VBox getVbox = menuVBox;
        try {
            anchorPane = FXMLLoader.load(getClass().getResource(path));
        } catch (Exception e) {
            System.out.println(e.getStackTrace().toString());
            System.out.println(e.getMessage());
        }
}

并且它有效。

关于JavaFX : how to change a scene included in the center of a BorderPane,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33818503/

相关文章:

java - JAVA输入数字的标准差

java - java中JTextField接受输入后如何添加异常处理

java - 为什么 Python 不使用类 C++/Java 的语法来定义实例变量?

java - 如何获取 Java BlockingQueue 的空属性,以便将其绑定(bind)到 JavaFX 元素的某些属性?

java - 不使用 JavaFX 时使用 FXCollections 是否干净/正确

java - 限制一个类被实例化不超过五次

java - 清除 Thread.interrupt() 标志的方法

java - 创建具有不同样式的大量文本 - JavaFX FXML

javafx - 增加组合框文本大小

listview - JavaFX:在 ListView 中换行文本