Listener

primo11

Mitglied
Hi, eine kurze Frage.

Ich habe ca. 30 Slider und dazu jeweils ein Label. Wenn ein Slider betätigt wird soll sich dazu das passende Label ändern. Wie kriege ich das hin ohne 30 verschiedene Listener zu programmieren? Das hier ist mein Listener für einen Slider:

ChangeListener chListSL = new ChangeListener(){
public void stateChanged(ChangeEvent e) {
JSlider source = (JSlider)e.getSource();
double fps = source.getValue();
if (!source.getValueIsAdjusting()) { //done adjusting
Label01.setText(""+fps); //update ftf value
} else { //value is adjusting; just set the text
Label01.setText(""+fps);
}}};
 
Formatier mal den Code richtig bitte... kann ja keiner lesen!

Allgemeiner Lösungsansatz:
1. die Slider als Array
Code:
JSlider[] = new JSlider[30]
definieren
2. In deinem übergeordneten JPanel / JFrame / etc. das Interface ChangeListener implementieren
3. die Methode public void stateChanged(ChangeEvent e) einfügen
4. in dieser Methode dann einfach mit einer Schleife und
Code:
sliders[i].equals(e.getSource)
überprüfen, von welchem Slder das Event ausgelöst wurde und darauf reagieren.
 
Zurück