【发布时间】:2021-03-27 23:30:45
【问题描述】:
我正在尝试制作一个带有选项卡式 GUI 的程序,其中每个选项卡的内容都是它们自己的类。我基本上想做here 所做的事情,但使用标签。仅仅是Manager类:
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Tab;
import javafx.scene.control.TabPane;
import javafx.stage.Stage;
public class Manager extends Application {
private TabPane tabPane;
private Tab dcTab;
public Manager() {
dcTab = new Tab();
tabPane = new TabPane();
DistributionCenter dcMenu = new DistributionCenter();
dcTab.setText("Distribution Center");
dcTab.setContent(dcMenu);
tabPane.getTabs().add(dcTab);
}
@Override
public void start(Stage primaryStage) throws Exception {
Group root = new Group();
Scene scene = new Scene(tabPane, 600, 500);
DistributionCenter dcMenu = new DistributionCenter();
root.getChildren().add(dcMenu);
dcTab.setContent(dcMenu);
primaryStage.setScene(scene);
primaryStage.setTitle("909th Wing");
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
这是我的 DistributionCenter 类:
import javafx.scene.control.Button;
import javafx.scene.layout.Pane;
public class DistributionCenter extends Pane {
private Button testBt1;
public DistributionCenter() {
Pane dcMenu = new Pane();
testBt1 = new Button("Button");
dcMenu.getChildren().addAll(testBt1);
testBt1.setLayoutX(30);
testBt1.setLayoutY(100);
}
}
请注意,此时 DistributionCenter 的内容只是一个测试。
【问题讨论】:
-
好的,这就是你想要做的;你的问题是什么?到目前为止,您尝试过什么?您在哪里卡住了?
-
@Zephyr 我遇到的问题是有一个选项卡,但没有来自 DistributionCenter 的内容。我已经从提供给链接问题的答案中尝试了这两种方法,我认为问题出在我对标签的使用上。
-
@Zephyr 我不确定您所说的“
dcTab不是‘标签’”是什么意思。那么'dcTab = new Tab()' 会做什么呢? -
哎呀。我不确定我在读什么……但是你为什么要创建一个新的
DistributionCenter并设置两次选项卡内容? -
@Zephyr 这是我为使程序正常工作而进行的大量实验的结果。移动时忘记删除多余的代码(我不记得哪个是原始代码,哪个是新代码)。