我想爲我的滑塊添加一個按鈕。我想要的是當我點擊按鈕時,滑塊的值將保存在一個變量中。但是我總是在使用ActionListener的時候出現錯誤。任何人都可以請幫忙。這裏是我的滑代碼:Java:爲滑塊添加一個「接受」按鈕
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.util.Hashtable;
public class SliderSample {
public static void main(final String args[]) {
Runnable runner = new Runnable() {
public void run() {
JFrame frame = new JFrame("Sample Sliders");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ChangeListener listener = new SliderChangeListener();
JSlider js4 = new JSlider(1,5);
Hashtable<Integer, JComponent> table = new Hashtable<Integer, JComponent>();
table.put(1, new JLabel("1"));
table.put(2, new JLabel("2"));
table.put(3, new JLabel("3"));
table.put(4, new JLabel("4"));
table.put(5, new JLabel("5"));
js4.setLabelTable(table);
js4.setPaintLabels(true);
js4.addChangeListener(listener);
frame.add(js4, BorderLayout.CENTER);
frame.setSize(400, 300);
frame.setVisible(true);
}
};
EventQueue.invokeLater(runner);
}
public static class SliderChangeListener implements ChangeListener {
public void stateChanged(ChangeEvent changeEvent) {
Object source = changeEvent.getSource();
JSlider theJSlider = (JSlider)source;
if (!theJSlider.getValueIsAdjusting()) {System.out.println ("Slider changed: " + theJSlider.getValue());
}
}
}
}
您能提供有關錯誤的更多信息嗎?例如,堆棧跟蹤非常有用。 – Henrik
@Henrik我是新來的java。我試過的是添加一個JButton後:frame.setVisible(true); 之後,我把一個ActionListener fot這個按鈕像這樣: accept.addActionListener(this); 它給了我一個關於「this」的錯誤。 – user1913798
我強烈建議使用更好的變量命名。從長遠來看,它的維護只是現在的痛苦,再加上它看起來很醜。看看[命名約定](http://www.oracle.com/technetwork/java/javase/documentation/codeconventions-135099.html#367) – eSuarez