Hallo Zusammen,
habe ein Fenster gebastelt das ein Label enthält, das den Wert der variable anzeigt die ein JSlider verändert, und möchte nun beim verschieben des Sliders den Wert in der GUI ebenfalls ändern. Wie geht das? Habs schon mit label.repaint() bzw. label.updateUI() versucht, läuft aber nciht!
habe ein Fenster gebastelt das ein Label enthält, das den Wert der variable anzeigt die ein JSlider verändert, und möchte nun beim verschieben des Sliders den Wert in der GUI ebenfalls ändern. Wie geht das? Habs schon mit label.repaint() bzw. label.updateUI() versucht, läuft aber nciht!
Code:
package gui;
import java.awt.BorderLayout;
import java.awt.Container;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JSlider;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
public class Kontrollcenter extends JFrame implements ChangeListener{
/**
*
*/
private static final long serialVersionUID = 1L;
private JSlider slider = new JSlider();
private JLabel label = new JLabel();
private Integer verzoegerung = 0;
Container cp = getContentPane();
public Kontrollcenter(){
super("Kontroll-Center");
//addWindowListener(new WindowClosingAdapter(true));
String test = "Verzögerung " + verzoegerung;
label = new JLabel(test);
cp.add(label,BorderLayout.NORTH);
JLabel ms = new JLabel(" Delay (ms)");
cp.add(ms, BorderLayout.CENTER);
slider = new JSlider(JSlider.HORIZONTAL,0,500,verzoegerung);
slider.setMajorTickSpacing(100);
slider.setMinorTickSpacing(10);
slider.setPaintTicks(true);
slider.setPaintLabels(true);
slider.addChangeListener(this);
cp.add(slider,BorderLayout.SOUTH);
}
public void stateChanged(ChangeEvent event) {
JSlider sl = (JSlider)event.getSource();
verzoegerung = sl.getValue();
System.out.println(verzoegerung);
label.updateUI();
}
public static void main(String[] args){
Kontrollcenter fenster = new Kontrollcenter();
fenster.setSize(300,120);
fenster.setVisible(true);
fenster.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}