JavaFX Listview Multiple Choice

09/24/2015 14:50 XYZ-Cannon#1
Moin Jungs,

Weiß jemand von euch wie man in JavaFx mehrere Items auswählen kann ohne Ctrl drücken zu müssen?
Code:
 Listview.setSelectionMode(Selectionmode.Multiple)
funzt nicht.

Lg
09/24/2015 17:59 Zunft#2
Ich denke, du musst CTRL zusätzlich drücken - zumindest würde mir keine andere Möglichkeit einfallen. Du könntest allerhöchtens, nachdem die erste Zeile markiert wurde in einem seperaten Task einen Tastendruck von CTRL senden und nach sagen wir mal 2 Sekunden, wenn du nichts markiert hast, aufhören.
09/24/2015 18:39 Mysthik#3
Mir würde spontan folgendes einfallen:
1. Mouse-Click Event abfangen,
2. Selektierte Einträge in der Liste zwischenspeichern,
3. neu angewähltes Element hinzufügen/entfernen,
4. Alles deselektieren,
5. Alles in der Liste wieder selektieren.

Die ListView hat bestimmt ne Möglichkeit dinge zu selektieren/deselektieren.
09/25/2015 08:04 XYZ-Cannon#4
Quote:
Originally Posted by Admiral Sack View Post
Ich denke, du musst CTRL zusätzlich drücken - zumindest würde mir keine andere Möglichkeit einfallen. Du könntest allerhöchtens, nachdem die erste Zeile markiert wurde in einem seperaten Task einen Tastendruck von CTRL senden und nach sagen wir mal 2 Sekunden, wenn du nichts markiert hast, aufhören.
Das wäre unglaublich unsauber und kommt nicht infrage, da das Programm ein Kundenauftrag ist und diese Methode viel zu fehlerbehaftet ist.

Gibt es keine Möglichkeit von Haus aus? Ansonsten würde ich das mit einer doppelten Liste realisieren, wo eine Liste mit nicht ausgewählten Optionen existiert und beim klicken diese aus der Liste gelöscht wird und dann in eine neue Liste geschoben wird.
09/25/2015 15:01 Zunft#5
Natürlich ist es unsauber, aber es kommt ja auch niemand auf so eine Idee ;)

Sowas in der Art wäre vermutlich die einfachste Lösung:

[Only registered and activated users can see links. Click Here To Register...]

Möglichkeit Nr. 2 wäre:
Du erstellst dir deine eigene Liste, die von ListView erbt und überschreibst mittels @Override das MultipleSelectionModel.
09/25/2015 16:18 XYZ-Cannon#6
Quote:
Originally Posted by Admiral Sack View Post
Natürlich ist es unsauber, aber es kommt ja auch niemand auf so eine Idee ;)

Sowas in der Art wäre vermutlich die einfachste Lösung:

[Only registered and activated users can see links. Click Here To Register...]

Möglichkeit Nr. 2 wäre:
Du erstellst dir deine eigene Liste, die von ListView erbt und überschreibst mittels @Override das MultipleSelectionModel.
Danke für den Lösungsansatz. Mittlerweile habe ich es mithilfe von 2 Listen gelöst: Eine Liste mit "nicht ausgewählten Optionen" und eine mit "ausgewählten Optionen". Sobald man auf eines der Objekte klickt, wird es in die andere Liste verschoben; genauso umgekehrt.
War am nutzerfreundlichsten und nicht allzu aufwendig zu programmieren. Hätte das nicht funktioniert hätte ich wahrscheinlich Möglichkeit Nr. 2 gewählt.