JavaFx: Standardmeldung für leere ListView

8

Wenn in keiner Tabelle ein Datensatz vorhanden ist, wird die Meldung 'Kein Inhalt in der Tabelle' angezeigt. Dies ist die Standardfunktionalität von TableView in JavaFx.

Also meine Frage ist, kann das gleiche mit ListView in JavaFx möglich sein? Wenn in einem ListView kein Element vorhanden ist, wird anstelle von leeren Feldern eine Nachricht angezeigt, die der von TableView entspricht.

    
Shreyas Dave 09.12.2013, 11:36
quelle

4 Antworten

17

Sie müssen dies versuchen: -

listView.setPlaceholder(new Label("No Content In List"));

es funktioniert 100%.

    
Vikas Tiwari 10.12.2013, 03:57
quelle
4

JavaFX8 hat eine setPlaceholder (...) Methode für ListView.

In früheren Versionen musst du dein eigenes irgendwie rollen. Dies ist ein kleiner Haken: Das ListView wird in einem Stapelbereich mit einem weißen Rechteck umschlossen und der Platzhalter über der Listenansicht angezeigt. Der Platzhalter und das Rechteck haben ihre sichtbare Eigenschaft gebunden, so dass sie nur sichtbar sind, wenn die Liste leer ist.

Es gibt vielleicht einfachere Wege, die ich nicht sofort sehe ...

%Vor%     
James_D 10.12.2013 02:21
quelle
1

Mit fxml:

%Vor%     
matepal297 10.10.2015 10:11
quelle
0

Nicht ganz sicher, aber ich glaube nicht, dass es eine setPlaceholder -Methode gibt (um die Standardmeldung zu setzen, wenn kein Inhalt in der Tabelle ist) für ListView.

Die von mir verwendete Problemumgehung besteht darin, ein Objekt in der Liste zu erstellen, das "Kein Inhalt" anzeigt, das in der Listenansicht anzuzeigen und es auch zu deaktivieren.

Zum Beispiel:

%Vor%     
francisOpt 10.12.2013 02:09
quelle