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
+
+
+
+
+
+
+
+
+
+
+
+
+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:
+
+
+
+
+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.
+
+
+
+
+
+| Konstante |
+Bedeutung |
+
+| UNIT_INCREMENT |
+Der Wert wurde durch Klicken eines Buttons
+um eine Einheit erhöht. |
+
+| UNIT_DECREMENT |
+Der Wert wurde durch Klicken eines Buttons
+um eine Einheit vermindert. |
+
+| BLOCK_INCREMENT |
+Der Wert wurde durch Klicken der Schaltfläche
+zwischen Button und Schieber um eine Seite erhöht. |
+
+| BLOCK_DECREMENT |
+Der Wert wurde durch Klicken der Schaltfläche
+zwischen Button und Schieber um eine Seite vermindert. |
+
+| TRACK |
+Der 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