java - 如何将节点添加到选项卡 JavaFX 内的 HBox?

标签 java javafx tabs

我已经创建了一个 GUI,我想在应用程序在后台执行某些操作时添加一个 ProgressIndicator。我在构造函数中创建了一个 Tab ,类似于以下内容:

public class myGUI {
    Tab myTab;

    myGUI() {
        myTab = new Tab("My Tab");

        HBox view = new HBox();
        VBox left = new VBox();
        BorderPane right = new BorderPane();

        /*A lot of other things are declared that go in left and right*/

        view.getChildren().addAll(left, right);
        myTab.setContent(view);
    }
...

稍后,我按下一个按钮来启动应用程序执行后台任务,并且我想将一个 ProgressIndicator 添加到 BorderPane 的中心。我尝试了类似以下的方法:

private void handleMyAction(MouseEvent e) {
    myTab.getContent().getChildren().get(1).setCenter(new ProgressIndicator(-1.0f));
}

我认为这是可行的,但是,getContent返回一个Node,并且我无法在该Node<上调用getChildren/。如何访问 BorderPane 来添加另一个 Node,而不将 BorderPane 设为我的类中的字段?

最佳答案

只需将边框 Pane 设置为实例变量即可:

public class MyGUI {
    private Tab myTab;
    private BorderPane right ;

    MyGUI() {
        myTab = new Tab("My Tab");

        HBox view = new HBox();
        VBox left = new VBox();
        right = new BorderPane();

        /*A lot of other things are declared that go in left and right*/

        view.getChildren().addAll(left, right);
        myTab.setContent(view);
    }

    private void handleMyAction(MouseEvent e) {
        right.setCenter(new ProgressIndicator(-1.0f));
    }
}

关于java - 如何将节点添加到选项卡 JavaFX 内的 HBox?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40849306/

相关文章:

java - 如何删除包含Java中其他文件夹的文件夹?

css - 如何在页面加载时更改事件选项卡的样式

javascript - Bootstrap选项卡如何从选项卡输入值获取值基础

JavaFx 和套接字监听器

java - Swing 到 JavaFX - 相当于覆盖按钮的 isEnabled() 方法?

java - 格里芬-JavaFX : View throws NPE concerning the model

java - 如何使用这样的自定义选项卡制作 Viewpager?

java - 无法解析符号 'Notification'

java - XML 的 Swing GUI 生成器

JavaFX 滚动条自定义。当两个滚动条都被激活时,消除多余的正方形