【问题标题】:How to remove close button from tabs in JavaFX如何从 JavaFX 中的选项卡中删除关闭按钮
【发布时间】:2015-10-10 10:26:49
【问题描述】:

我在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());

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

感谢任何帮助。

【问题讨论】:

    标签: java javafx


    【解决方案1】:

    您可以在TabPane 上设置TabClosingPolicy

    myTabPane.setTabClosingPolicy(TabClosingPolicy.UNAVAILABLE);
    

    有以下几种可能:

    • TabClos​​ingPolicy.ALL_TABS //所有选项卡都可以关闭
    • TabClos​​ingPolicy.SELECTED_TAB // 只能关闭选中的选项卡
    • TabClos​​ingPolicy.UNAVAILABLE // 你无法关闭

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

    setClosable(false);
    

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

    oracle 文档的链接: JavaFX 8 TabPane.TabClosingPolicy

    【讨论】:

      【解决方案2】:

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

      <TabPane tabClosingPolicy="UNAVAILABLE">
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-06-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-09-08
        相关资源
        最近更新 更多