我有一些带有一些标签的tabpane。我想在与标签相同的行上添加一个按钮(应该右对齐并与标签相对)。
我在想我可以添加按钮,如:(但这不起作用)
tabPane.getTabs().add(tab1,tab2,tab3,new Button("btn"))
请告诉我该怎么做(见下面我想要的图像示例)。
注意:当TABAREA的TAB1处于活动状态时,按钮应该是可见的。在TAB2和TAB3时,按钮应该被隐藏。致谢
答案 0 :(得分:0)
使用javafx.scene.layout.AnchorPane
,您可以将自定义页面和按钮分组到相同的布局
参考下面的代码,
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Tab;
import javafx.scene.control.TabPane;
import javafx.scene.layout.AnchorPane;
import javafx.stage.Stage;
public class JavaFXTest6 extends Application {
@Override
public void start(Stage primaryStage) {
final AnchorPane root = new AnchorPane();
final TabPane tabs = new TabPane();
final Button addButton = new Button("Btn1");
addButton.setPrefWidth(41);
addButton.setPrefHeight(15);
AnchorPane.setTopAnchor(tabs, 5.0);
AnchorPane.setLeftAnchor(tabs, 5.0);
AnchorPane.setRightAnchor(tabs, 5.0);
AnchorPane.setTopAnchor(addButton, 10.0);
AnchorPane.setRightAnchor(addButton, 10.0);
tabs.setStyle("-fx-padding: 2 0 0 50;");
Tab tab = new Tab("Tab 1");
Tab tab1 = new Tab("Tab 2");
Tab tab2 = new Tab("Tab 3");
tabs.getTabs().add(tab);
tabs.getTabs().add(tab1);
tabs.getTabs().add(tab2);
root.getChildren().addAll(tabs, addButton);
final Scene scene = new Scene(root, 300, 200);
primaryStage.setTitle("Tabs with button !");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
----------------- out put会像这样--------------------