|
Ein Scrollbar ist ein Schieberegler, der zur quasianalogen Anzeige und Eingabe eines Wertes aus einem vorgegebenen Wertebereich verwendet werden kann. Der Schieberegler kann entweder horizontal oder vertikal angeordnet werden und besitzt einen Schieber, dessen Größe veränderlich ist. Der interne Wert eines Schiebereglers und die Anzeigeposition seines Schiebers sind untrennbar miteinander verbunden. Ändert der Anwender die Position des Schiebers, ändert sich automatisch auch sein interner Wert. Wird vom Programm der Wert verändert, führt dies auch zu einer Repositionierung des Schiebers.
public Scrollbar() public Scrollbar(int orientation) public Scrollbar( int orientation, int value, int visible, int minimum, int maximum ) |
java.awt.Scrollbar |
Der parameterlose Konstruktor erzeugt einen vertikalen Schieberegler. Mit dem Parameter orientation kann die Orientierung festgelegt werden. Hier kann eine der Konstanten Scrollbar.HORIZONTAL oder Scrollbar.VERTICAL angegeben werden.
Der dritte Konstruktor erlaubt die Angabe weiterer Eigenschaften. minimum und maximum spezifizieren die Grenzen des repräsentierten Wertebereichs. Die untere Grenze liegt bei einem vertikalen Schieberegler oben und bei einem horizontalen Schieberegler auf der linken Seite. Mit value kann der Anfangswert des Schiebers festgelegt werden.
Der Parameter visible dient dazu, die Seitengröße des Schiebers zu bestimmen. Diese muß kleiner als der Wertebereich des Schiebereglers sein. Die Seitengröße bestimmt einerseits die visuelle Größe des Schiebers und andererseits die Größe der Veränderung des Wertes, wenn der Anwender auf die Schaltfläche zwischen Schieber und Button des Schiebereglers klickt.
Die Methoden der Klasse Scrollbar realisieren den Zugriff auf die Attribute des Schiebereglers. Die meisten von ihnen sind im Interface Adjustable definiert, das von Scrollbar implementiert wird. Mit getValue und setValue wird auf den aktuellen Wert des Schiebers zugegriffen, mit getMinimum und getMaximum auf die Grenzen des Wertebereichs und mit getVisibleAmount auf die Größe des Schiebers. Zusätzlich kann mit getUnitIncrement und setUnitIncrement sowie mit getBlockIncrement und setBlockIncrement auf die Parameter zugegriffen werden, die die Stärke der Veränderung des Wertes beim Klicken auf die Buttons bzw. die Schaltfläche zwischen Schieber und Buttons bestimmen.
public int getValue() public void setValue(int value) public int getMinimum() public int getMaximum() public int getVisible() public int getUnitIncrement() public void setUnitIncrement(int l) public int getBlockIncrement() public void setBlockIncrement(int l) |
java.awt.Scrollbar |
Ein Scrollbar sendet Adjustment-Ereignisse an seine Ereignisempfänger. Diese müssen das Interface AdjustmentListener implementieren und sich durch Aufruf von addAdjustmentListener registrieren:
public void addAdjustmentListener(AdjustmentListener l) |
java.awt.Scrollbar |
Das Adjustment-Ereignis führt im Ereignisempfänger zum Aufruf der Methode adjustmentValueChanged, die ein AdjustmentEvent übergeben bekommt:
public abstract void adjustmentValueChanged(AdjustmentEvent e) |
java.awt.event.AdjustmentListener |
Dieses besitzt die Methoden getAdjustable, mit der der auslösende Scrollbar bestimmt werden kann, und getValue, mit der der aktuelle Wert des Schiebereglers bestimmt werden kann. Zusätzlich gibt es die Methode getAdjustmentType, die Auskunft darüber gibt, welche Benutzeraktion zur Auslösung des Ereignisses führte. Tabelle 22.1 listet die möglichen Konstanten auf, die von getAdjustmentType zurückgegeben werden können, und beschreibt ihre Bedeutung.
Konstante | Bedeutung |
AdjustmentEvent.UNIT_INCREMENT | Der Wert wurde durch Klicken eines Buttons um eine Einheit erhöht. |
AdjustmentEvent.UNIT_DECREMENT | Der Wert wurde durch Klicken eines Buttons um eine Einheit vermindert. |
AdjustmentEvent.BLOCK_INCREMENT | Der Wert wurde durch Klicken der Schaltfläche zwischen Button und Schieber um eine Seite erhöht. |
AdjustmentEvent.BLOCK_DECREMENT | Der Wert wurde durch Klicken der Schaltfläche zwischen Button und Schieber um eine Seite vermindert. |
AdjustmentEvent.TRACK | Der Wert wurde durch Ziehen des Schiebers verändert. |
Tabelle 22.1: Konstanten für Schieberegler-Ereignisse
Eine beispielhafte Implementierung von adjustmentValueChanged könnte etwa so aussehen:
|
![]() |
|
![]() |
Abbildung 22.10: Ein Dialog mit zwei Schiebereglern
|
Go To Java 2, Addison Wesley, Version 1.0.2, © 1999 Guido Krüger, http://www.gkrueger.com |