Supprimez le texte par défaut "aucun contenu dans la table" pour la table javafx vide

Je voudrais supprimer ou modifier le texte par défaut affiché par une table javafx vide de No content in table à quelque chose de plus significatif pour l'utilisateur.

Par exemple, dans une table montrant des étudiants, quand il n'y a pas d'étudiants à montrer, je veux dire "aucun étudiant dans la base de données" ou "L'étudiant n'a pas de cours" pour une table de cours. Je ne sais pas si cela est possible dans javafx, soit via le code java, en utilisant scene builder, soit en éditant le .fichier fxml dans un IDE. Jusqu'à présent, j'ai regardé les propriétés de le tableview dans scene builder et je ne peux pas voir une propriété associée pour ce texte

41
demandé sur Japheth Ongeri - inkalimeva 0000-00-00 00:00:00

2 réponses

Vous avez raison en ce que le TableView le contrôle n'a pas un String méthode de définition qui manipule directement le texte affiché lorsque la table est vide. Ce que vous voudrez faire à la place est d'utiliser la propriété placeholder de TableView qui peut être définie sur n'importe quel objet de type noeud. Exemple...

myTableView.setPlaceholder(new Label("My table is empty message"));
77
répondu Brendan 2015-07-16 14:11:19

Vous pouvez également le faire à partir de *.fichier fxml, en ajoutant un espace réservé avec une étiquette vide.

<TableView>
    <placeholder>
        <Label text=""/>
    </placeholder>
    <columns>
        <TableColumn text="Column1"/>
        <TableColumn text="Column2"/>
    </columns>
</TableView>
31
répondu K. Gol 2016-03-10 14:19:41