Remove the default 'no content in table' text for empty javafx table

Japheth Ongeri - inkalimeva picture Japheth Ongeri - inkalimeva · Jul 15, 2014 · Viewed 20.3k times · Source

I would like to remove or change the default text shown by an empty javafx table from No content in table to something more meaningful for the user.

For example in a table showing students, when there are no students to show I want it to say "No students in database" or "Student has no courses" for a courses table. I don't know if this is possible in javafx, either through java code, using scene builder, or by editing the .fxml file in an IDE. So far I have looked at the properties of the tableview in scene builder and I can't see a related property for this text

Answer

Brendan picture Brendan · Jul 15, 2014

You are correct in that the TableView control does not have a String setter method that directly manipulates the text shown when the table is empty. What you will want to do instead is use the TableView's placeholder property which can be set to any object of type Node. For example...

myTableView.setPlaceholder(new Label("My table is empty message"));