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

per*_*ist 12 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());
Run Code Online (Sandbox Code Playgroud)

这样它就不会被删除.有没有办法不在选项卡上显示此关闭按钮.

任何帮助表示赞赏.

NDY*_*NDY 21

你可以设置TabClosingPolicy一个TabPane

myTabPane.setTabClosingPolicy(TabClosingPolicy.UNAVAILABLE);
Run Code Online (Sandbox Code Playgroud)

有以下可能性:

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

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

setClosable(false);
Run Code Online (Sandbox Code Playgroud)

如果你在扩展的类中定义它,Tab我猜你设置的策略将是无用的并被覆盖.

链接到oracle doc: JavaFX 8 TabPane.TabClos​​ingPolicy


Tom*_*Tom 5

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

<TabPane tabClosingPolicy="UNAVAILABLE">
Run Code Online (Sandbox Code Playgroud)