8.6.7 | JSlider |
Ein JSlider ist ein Schieberegler, mit dem man einen Wert zwischen einem Minimum und einem Maximum einstellen kann.
Das Aussehen kann über verschiedene Eigenschaften definiert werden. So kann man mittels setMinorTickSpacing(int value) bzw. setMajorTickSpacing(int value) den Abstand definieren, in dem an der Leiste kurze bzw. lange Striche gezeichnet werden sollen.
Zusätzlich kann man Labels definieren, die an der entsprechenden Stelle angezeigt werden. Hierzu kann man eine Hashtable registrieren, der man zu den passenden Werten (angegeben als Integer) entsprechende JLabels zuordnet, die dann unter bzw. neben den Strichen angezeigt werden.
Material zum Beispiel
Um auf Änderungen zu reagieren, muss man einen ChangeListener wie folgt registrieren:
- Applet starten
- Quelltexte:
slider.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { System.out.println("Neuer Wert: "+ ((JSlider) (e.getSource ()).getValue())); } });
Das Model des JSlider ist eine Implementierung des Interface BoundedRangeModel. Neben den Werten für das Minimum, Maximum und den aktuellen Wert liefert es auch die Spanne, den der Einstellknopf umfasst.
JSlider slider = new JSlider(0, 100); slider.setMinorTickSpacing(1); slider.setMajorTickSpacing(10); slider.setPaintTicks(true); // Bei 50 und 100 einen Text setzen Hashtable labelTable = new Hashtable(); labelTable.put(new Integer(50), new JLabel("Half")); labelTable.put(new Integer(100), new JLabel("Full")); slider.setLabelTable(labelTable);