From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001 From: Sven Eisenhauer Date: Fri, 10 Nov 2023 15:11:48 +0100 Subject: add new repo --- .../hjp5/html/k100216.html | 314 +++++++++++++++++++++ 1 file changed, 314 insertions(+) create mode 100644 Master/Reference Architectures and Patterns/hjp5/html/k100216.html (limited to 'Master/Reference Architectures and Patterns/hjp5/html/k100216.html') diff --git a/Master/Reference Architectures and Patterns/hjp5/html/k100216.html b/Master/Reference Architectures and Patterns/hjp5/html/k100216.html new file mode 100644 index 0000000..34a15dc --- /dev/null +++ b/Master/Reference Architectures and Patterns/hjp5/html/k100216.html @@ -0,0 +1,314 @@ + + + +Handbuch der Java-Programmierung, 5. Auflage + + + + + + + + + +
 Titel  + Inhalt  + Suchen  + Index  + DOC  +Handbuch der Java-Programmierung, 5. Auflage +
 <<  +  <   +  >   + >>  + API  +Kapitel 32 - AWT-Dialogelemente +
+
+ + + + +

32.10 Scrollbar

+
+ +
+ +

+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 muss 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 +und getValue. +Mit der erstgenannten kann der auslösende Scrollbar, mit letzterer +der aktuelle Wert des Schiebereglers bestimmt werden. Zusätzlich +gibt es die Methode getAdjustmentType, +die Auskunft darüber gibt, welche Benutzeraktion zur Auslösung +des Ereignisses führte. Tabelle 32.1 +listet die möglichen Konstanten auf, die von getAdjustmentType +zurückgegeben werden können, und beschreibt ihre Bedeutung. + +

+ + + + + + + + + + + + + + + + + + + + +
KonstanteBedeutung
UNIT_INCREMENTDer Wert wurde durch Klicken eines Buttons +um eine Einheit erhöht.
UNIT_DECREMENTDer Wert wurde durch Klicken eines Buttons +um eine Einheit vermindert.
BLOCK_INCREMENTDer Wert wurde durch Klicken der Schaltfläche +zwischen Button und Schieber um eine Seite erhöht.
BLOCK_DECREMENTDer Wert wurde durch Klicken der Schaltfläche +zwischen Button und Schieber um eine Seite vermindert.
TRACKDer Wert wurde durch Ziehen des Schiebers +verändert.
+

+Tabelle 32.1: Konstanten für Schieberegler-Ereignisse

+ +

+Eine beispielhafte Implementierung von adjustmentValueChanged +könnte etwa so aussehen: + + +

+ + + + + +
+ +
+001 /* Scrollbar.inc */
+002 
+003 public void adjustmentValueChanged(AdjustmentEvent event)
+004 {
+005   Adjustable sb = event.getAdjustable();
+006   if (sb.getOrientation() == Scrollbar.HORIZONTAL) {
+007     System.out.print("Horizontal: ");
+008   } else {
+009     System.out.print("Vertikal: ");
+010   }
+011   switch (event.getAdjustmentType()) {
+012   case AdjustmentEvent.UNIT_INCREMENT:
+013     System.out.println("AdjustmentEvent.UNIT_INCREMENT");
+014     break;
+015   case AdjustmentEvent.UNIT_DECREMENT:
+016     System.out.println("AdjustmentEvent.UNIT_DECREMENT");
+017     break;
+018   case AdjustmentEvent.BLOCK_DECREMENT:
+019     System.out.println("AdjustmentEvent.BLOCK_DECREMENT");
+020     break;
+021   case AdjustmentEvent.BLOCK_INCREMENT:
+022     System.out.println("AdjustmentEvent.BLOCK_INCREMENT");
+023     break;
+024   case AdjustmentEvent.TRACK:
+025     System.out.println("AdjustmentEvent.TRACK");
+026     break;
+027   }
+028   System.out.println("  value: " + event.getValue());
+029 }
+030 
+031 private void customizeLayout(Panel panel)
+032 {
+033    panel.setLayout(new BorderLayout());
+034    Scrollbar hsb=new Scrollbar(Scrollbar.HORIZONTAL,1,10,1,100);
+035    hsb.addAdjustmentListener(this);
+036    panel.add(hsb, BorderLayout.SOUTH);
+037    Scrollbar vsb=new Scrollbar(Scrollbar.VERTICAL,  1,10,1,100);
+038    vsb.addAdjustmentListener(this);
+039    panel.add(vsb, BorderLayout.EAST);
+040 }
+
+
+Scrollbar.inc
+ +Listing 32.15: Verwendung von Scrollbars

+

+ + +

+ +

+Abbildung 32.10: Ein Dialog mit zwei Schiebereglern

+
+ + + +
 Titel  + Inhalt  + Suchen  + Index  + DOC  +Handbuch der Java-Programmierung, 5. Auflage, Addison +Wesley, Version 5.0.1 +
 <<  +  <   +  >   + >>  + API  +© 1998, 2007 Guido Krüger & Thomas +Stark, http://www.javabuch.de +
+ + + -- cgit v1.2.3