java 如何从 JavaFX 的选项卡中删除关闭按钮
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/31531059/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
How to remove close button from tabs in JavaFX
提问by persistent_poltergeist
I have created some tabs in a TabPane
. Each time I make a tab it has got a close(x) button on its right side. I don't want the tabs to be removed from the TtabPane
so I have used:
我在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());
so that it won't be removed. Is there some way not to display this close button on tab.
以免被删除。有什么方法可以不在选项卡上显示这个关闭按钮。
Any help is appreciated.
任何帮助表示赞赏。
回答by NDY
You can set the TabClosingPolicy
on a TabPane
您可以设置TabClosingPolicy
一个TabPane
myTabPane.setTabClosingPolicy(TabClosingPolicy.UNAVAILABLE);
There are the following possibilities:
有以下几种可能:
- TabClosingPolicy.ALL_TABS // all tabs can be closed
- TabClosingPolicy.SELECTED_TAB // only the selected tab can be closed
- TabClosingPolicy.UNAVAILABLE // you cant close
- TabClosingPolicy.ALL_TABS // 所有选项卡都可以关闭
- TabClosingPolicy.SELECTED_TAB // 只能关闭选中的选项卡
- TabClosingPolicy.UNAVAILABLE // 你不能关闭
If you are adding classes to myTabPane.getTabs()
there is also the possibility to set the class to not be closeable (because it needs to extend from Tab
):
如果您要添加类,myTabPane.getTabs()
还可以将类设置为不可关闭(因为它需要从 扩展Tab
):
setClosable(false);
If you define it in the class which extends from Tab
I guess the policy you set will be useless and is overridden.
如果您在继承自的类中定义它,Tab
我猜您设置的策略将毫无用处并被覆盖。
Link to the oracle doc: JavaFX 8 TabPane.TabClosingPolicy
链接到 oracle 文档: JavaFX 8 TabPane.TabClosingPolicy
回答by Pochmurnik
You can also define this using FXML by this code:
您还可以通过以下代码使用 FXML 定义它:
<TabPane tabClosingPolicy="UNAVAILABLE">