2017-04-25 2 views
0

Ich habe eine Tabellenansicht, die 30 Spalten enthält, da die Gesamtbreite die Breite der Tabellenansicht überschreitet, so dass die Tabellenansicht zuerst die ersten 7 Spalten zeigt rechts durch Drücken der rechten Pfeiltaste auf der Tastatur, in den ersten 7 Spalten, wenn ich die rechte Pfeiltaste drücke, bewegt sich der Fokus wie erwartet zur nächsten Spalte, wenn die 8. Spalte erreicht wird, wird die 8. Spalte die erste sein Zeige in der Tischansicht, so weit so gut, aber die Frage ist, wenn ich wieder die rechte Pfeiltaste versuche, um zur nächsten Spalte (9., 10. ...) zu bewegen, anstatt den Fokus auf die nächste Spalte zu verschieben Die Spalten werden mit einer Spalte nach links verschoben, was es sehr schwierig macht, den Inhalt der Spalte zu sehen.Javafx Tableview Scrollen nach rechts durch Drücken der rechten Pfeiltaste

Also möchte ich fragen, ob es eine Einstellung der Tabellenansicht zum Bewegen des Fokus nur gibt, wenn man die rechte Pfeiltaste auf der Tastatur drückt, anstatt alle Spalten in der Tabellenansicht zu verschieben?

Vielen Dank im Voraus!

Antwort

0

Es gibt keine Einstellung für dieses Verhalten so gut wie ich weiß.

Aufruf und TableView::scrollToColumnIndex scheint die gleichen Verhaltensweisen zu haben. Wir sollten EventHandler für KeyEvent.KEY_PRESSED hinzufügen, die durch die rechte und linke Taste ausgelöst werden, um diese Bewegung zu ändern.

+0

Hallo @ monolith52, Danke für die Antwort, basierend auf dem, was Sie in der Antwort erwähnt: "Wir sollten EventHandler für KeyEvent.KEY_PRESSED gefeuert mit rechten und linken Tasten, um diese Bewegung zu ändern.", Kann diese Bewegung durch Hinzufügen gelöst werden Kannst du mehr Details erklären? –

+0

1. Behandeln Sie KeyCode.RIGHT und KeyCode.LEFT. 2. Wählen und fokussieren Sie benachbarte Zellen. 3. Berechne und setze die Position von TableViews ScrollBar. Ich schrieb [Test-Handler] (https://gist.github.com/monolith52/9bb81966471ebcaf2e4044e610c8f821), als ich dich antwortete. Versuchen Sie es, wenn Sie möchten. – monolith52

+0

Hallo @ monolith52, Vielen Dank :), Es ist großartig, und fast da, aber es gibt ein Problem, zum Beispiel kann die Tabellenansicht 7 Spalte auf einmal zeigen, wenn ich die rechte Taste auf die 8. Spalte drücken, ich möchte, dass die 8. Spalte die erste Spaltenposition in der Tabellenansicht wird, jetzt ist die 8. Spalte an der letzten Position der Tabellenansicht. Könntest du ein bisschen verändern? Danke noch einmal! –