2014-07-15 13 views
33

Ich möchte den Standardtext entfernen oder ändern, der durch eine leere javafx-Tabelle von No content in table auf etwas aussagekräftiger für den Benutzer angezeigt wird.Entfernen Sie den Standardtext 'kein Inhalt in der Tabelle' für leere javafx Tabelle

Zum Beispiel in einer Tabelle, die Studenten zeigt, wenn es keine Studenten zu zeigen gibt, will ich sagen, dass "Keine Studenten in Datenbank" oder "Student hat keine Kurse" für eine Kurstabelle. Ich weiß nicht, ob dies in Javafx möglich ist, entweder über Java-Code, mithilfe des Szenen-Builders oder durch Bearbeiten der .fxml-Datei in einer IDE. Bisher habe ich in den Eigenschaften der Tableview in Szene Bauer sah und ich kann keinen Zusammenhang Eigenschaft für diesen Text

Antwort

62

Sie sind richtig, dass die TableView Steuerung verfügt nicht über eine String Setter-Methode sehen, dass manipuliert direkt den Text, der angezeigt wird, wenn die Tabelle leer ist. Was Sie stattdessen tun möchten, ist die TableViews placeholder property, die auf ein beliebiges Objekt des Typs Node gesetzt werden kann. Zum Beispiel ...

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

Sie können es auch aus der * .fxml-Datei tun, indem Sie Platzhalter mit leerer Beschriftung hinzufügen.

<TableView> 
    <placeholder> 
     <Label text=""/> 
    </placeholder> 
    <columns> 
     <TableColumn text="Column1"/> 
     <TableColumn text="Column2"/> 
    </columns> 
</TableView>