persistent-poltergeist persistent-poltergeist - 1 year ago 110
Java Question

How to remove close button from tabs in javafx

I have created some tabs in a tab pane. 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 tab pane so i have used

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

NDY NDY
Answer Source

You can set the TabClosingPolicy on a 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

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):

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.

Link to the oracle doc: JavaFX 8 TabPane.TabClosingPolicy