web-dev-qa-db-fra.com

Supprimez le texte par défaut «aucun contenu dans le tableau» pour le tableau javafx vide

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

Par exemple, dans un tableau montrant les étudiants, quand il n'y a aucun étudiant à montrer, je veux qu'il dise "Aucun étudiant dans la base de données" ou "L'élève n'a pas de cours" pour un tableau de cours. Je ne sais pas si cela est possible dans javafx, soit via Java, en utilisant le générateur de scène, soit en éditant le fichier .fxml dans un IDE. Jusqu'à présent, j'ai examiné les propriétés de la vue de table dans le générateur de scène et je ne vois pas de propriété associée pour ce texte

Vous avez raison en ce que le contrôle TableView n'a pas de String méthode setter qui manipule directement le texte affiché lorsque le tableau est vide. Ce que vous voudrez faire à la place, c'est utiliser propriété d'espace réservé de TableView qui peut être défini sur n'importe quel objet de type Node. Par exemple...

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

Vous pouvez également le faire à partir du 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>
36
K. Gol