我已经创建了一个 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/