如何在Javafx中设置选项卡的选项卡?

问题描述 投票:0回答:1

我正在尝试在我的选项卡窗格中创建一个按钮,该按钮可以切换到另一个选项卡(0→1)。

这是用于使用Javafx创建聊天程序,而我目前正在使用Scenebuilder来设计GUI。

myTabPane_1.getSelectionModel().select(1);

我希望它从选项卡索引#'0'变为索引#'1',但保持不变。

javafx scenebuilder
1个回答
0
投票

您未在代码中显示某些内容,并且由于您没有提供足够的信息,所以没有人能够帮助您修改代码,因此,这里有一个工作示例,说明如何使用索引并通过传递实际的选项卡来更改选项卡标签

public class Main extends Application {

    @Override
    public void start(Stage stage) {
        VBox vBox = new VBox();
        vBox.setAlignment(Pos.CENTER);

        Tab tabOne = new Tab("Tab One", new Label("This is Tab One"));
        Tab tabTwo = new Tab("Tab Two", new Label("This is Tab Two"));

        TabPane tabPane = new TabPane();
        tabPane.getTabs().addAll(tabOne, tabTwo);

        vBox.getChildren().add(tabPane);

        Button button = new Button("Change Tab by passing index");
        button.setOnAction(event -> {
            if(tabPane.getSelectionModel().getSelectedItem().getText().equals("Tab One"))
                tabPane.getSelectionModel().select(1);
            else
                tabPane.getSelectionModel().select(0);
        });
        vBox.getChildren().add(button);

        Button buttonTwo = new Button("Change Tab by passing tab");
        buttonTwo.setOnAction(event -> {
            if(tabPane.getSelectionModel().getSelectedItem().getText().equals("Tab One"))
                tabPane.getSelectionModel().select(tabTwo);
            else
                tabPane.getSelectionModel().select(tabOne);
        });
        vBox.getChildren().add(buttonTwo);

        stage.setScene(new Scene(vBox));
        stage.show();
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.