如何从JavaFX中的选项卡中删除关闭按钮

时间:2015-07-21 05:30:28

标签: java javafx

我在TabPane中创建了一些标签。每次我制作一个标签时,它的右侧都有一个关闭(x)按钮。我不希望从TtabPane中删除标签,因此我使用了:

 TabPane tabPane = new TabPane();
 Tab tab = new Tab("new tab");
 tab.setContents(new Label("Please help"));
 tabPane.getTabs().add(tab);
 tab.setOnCloseRequest(e -> e.consume());

这样它就不会被删除。有没有办法不在标签上显示这个关闭按钮。

感谢任何帮助。

2 个答案:

答案 0 :(得分:21)

您可以在TabClosingPolicy

上设置TabPane
myTabPane.setTabClosingPolicy(TabClosingPolicy.UNAVAILABLE);

有以下可能性:

  • TabClos​​ingPolicy.ALL_TABS //可以关闭所有标签
  • TabClos​​ingPolicy.SELECTED_TAB //只能关闭所选标签
  • TabClos​​ingPolicy.UNAVAILABLE //你不能关闭

如果要向myTabPane.getTabs()添加类,还可以将类设置为不可关闭(因为它需要从Tab扩展):

setClosable(false);

如果你在从Tab延伸的类中定义它,我猜你设置的策略将是无用的并被覆盖。

链接到oracle doc: JavaFX 8 TabPane.TabClosingPolicy

答案 1 :(得分:0)

您还可以通过以下代码使用FXML进行定义:

<TabPane tabClosingPolicy="UNAVAILABLE">