拜托,我试图添加一个 changeHandler 事件,但我认为我做的不对。我正在看以下陈述..
pickNum.addChangeListener(new ChangeHandler());
@Override
public void stateChanged(changeEvent e)
{
JSlider s = (JSlider)e.getSource();
index = s.getValue();
}
有没有我可以做得更好的事情,因为因为它不起作用..
import javax.swing.*;
public class Slider extends JFrame{
public static int index;
JSlider pickNum = new JSlider(JSlider.HORIZONTAL,0,30,5);
public Slider()
{
super("Slider");
this.pack();
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pickNum.setMajorTickSpacing(10);
pickNum.setMinorTickSpacing(1);
pickNum.setPaintTicks(true);
pickNum.setPaintLabels(true);
pickNum.addChangeListener(new ChangeHandler());
@Override
public void stateChanged(changeEvent e)
{
JSlider s = (JSlider)e.getSource();
index = s.getValue();
}
getPointedValue();
this.add(pickNum);
this.setVisible(true);
}
public final int getPointedValue()
{
int value;
value = pickNum.getValue();
return value;
}
public static void main(String[] args) {
Slider frame = new Slider();
System.out.println("value is :"+Slider.index);
}
}
[/CODE]