Ich sehe die Methode JScrollPane.setWheelScrollingEnabled(boolean)
zum Aktivieren oder Deaktivieren des Mausrad-Bildlaufs. Gibt es jedoch eine Möglichkeit, die Geschwindigkeit des Bildlaufs anzupassen? Es ist meiner Meinung nach lächerlich langsam. Unabhängig von der Größe des Fensters beträgt der Bildlauf etwa drei Pixel pro Klick. Ich möchte, dass es viel mehr als das ist.
Irgendwelche Ideen?
java
swing
scroll
jscrollpane
mousewheel
Erick Robertson
quelle
quelle
Antworten:
Sie können dies versuchen:
quelle
Eine Möglichkeit wäre, das Einheiteninkrement der Bildlaufleiste auf eine größere Zahl einzustellen:
quelle
Wenn Sie den Mausrad-Bildlauf unabhängig von der Bildlaufleisteneinheit einstellen möchten, können Sie den Mausrad- Controller verwenden .
quelle
Sie können dies tun, indem Sie das Einheiteninkrement für eine ScrollBar festlegen. Siehe das Beispiel.
quelle
Eine Schnellsuche führte zu dieser Seite: So erhöhen Sie die Bildlaufgeschwindigkeit von JScrollPane für Benutzer von Mausrädern . Es stellt sich heraus, dass das Bildlaufinkrement eine Eigenschaft der Bildlaufleiste selbst (
JScrollBar.setUnitIncrement
) und nicht des Bildlauffensters ist .quelle
Ich habe versucht, eine bessere Methode zum Lesen von 32000 Zeilen in meinem ScrollPane zu finden
Versuche dies
scrollPane.getVerticalScrollBar().setUnitIncrement(100); scrollPane.getViewport().putClientProperty("EnableWindowBlit", Boolean.TRUE); scrollPane.getViewport().setScrollMode(JViewport.BACKINGSTORE_SCROLL_MODE);
quelle
Für eine genauere Steuerung kann die gescrollte Komponente die scrollbare Schnittstelle implementieren. Auf diese Weise können Sie die Größe der Bildlaufeinheit (Pfeiltasten und Pfeiltasten) und die Größe des Bildlaufblocks (Mausrad) dynamisch berechnen.
Verwendung von Bildlauffenstern
quelle
Sie können dies auch verwenden.
SwingUtil.setScrollUnitIncrement(yourScrollPane);
quelle
Meine Lösung, um das Scrollen zu beschleunigen:
Fügen Sie den Parameter der Bildlaufleiste hinzu:
scrollPane.getVerticalScrollBar (). putClientProperty ("JScrollBar.fastWheelScrolling", true);
Implementieren Sie einen Wheel Listener (für die Komponente in jViewport):
Die Erhöhung der WheelRotation ist erforderlich. Andernfalls wird die Anzahl der gescrollten Zeilen auf die Größe des Bildschirms begrenzt.
quelle