2017-02-11 9 views
0

Beschreibung:ändern JavaFX Tableview Vertical ScrollBar Wert programmatisch

Nehmen wir an, wir haben eine einfache JavaFX TableView, und es hat 50 Artikel. Ich möchte vertikal bei 0.49 scrollen.

können Sie das Beispiel von Oracle Tutorial verwenden (https://docs.oracle.com/javase/8/javafx/user-interface-tutorial/table-view.htm)


Also ich benutze:

ScrollBar verticalBar = (ScrollBar) tableViewer.lookup(".scrollbar:vertical"); 
verticalBar.setValue(0.49); 

Aber es funktioniert nicht ....


Ich kann keine Möglichkeit finden, damit umzugehen. Die .scrollTo(...) ->link gibt diese Genauigkeit nicht. Ich muß die vertikalen Balken sein, genau an (0,49 oder 0,24 oder ...)

Antwort

1

Es scheint, Sie haben einen Tippfehler, ein scrollbar statt scroll-bar. Dies ist eine richtige Linie:

ScrollBar verticalBar = (ScrollBar) tableViewer.lookup(".scroll-bar:vertical"); 
+0

Oh meine Schuld, ich hatte, dass aber ich habe hinzugefügt, um es nicht versehentlich auf die Frage während des Kopierens den Code einfügen .... 'Obwohl ich es doppelt geprüft mit Ihrer Antwort durch wieder funktioniert es nicht ... Funktioniert es für dich? ' – GOXR3PLUS

+0

Ja, es funktioniert für mich. – Dth

+0

'verticalBar.getValue();' gibt zum Beispiel '0.27' korrekt zurück aber es funktioniert nicht omg [bewegt die vertikale Bildlaufleiste nicht, oder verschiebt es manchmal 1/10], ich bin auf JavaFX Application Thread. Mit einer 'observableArrayList' wird die' TableView' mit Items gefüllt ... Ich denke, das Ereignis wird nicht ausgelöst. Das '.scrollTo (index)' funktioniert sofort ... – GOXR3PLUS