将 JButton setActionCommand 函数转换为 JSpinner
Translate JButton setActionCommand function to JSpinner
我已经使用 JButton setActionCommand(String str) 函数来检测特定按钮的事件。
我想对 JSpinner 类型的变量做同样的事情,所以我将能够监听我知道的微调器。
此代码适用于 JButton
JButton myButton = new JButton("O.k");
myButton.setActionCommand("ok");
我如何将上面的代码翻译成 JSpinner contexte。
这是一个完整的例子,#MadProgrammer 说你不能直接设置动作命令,我用 setName
方法代替,这就像一个技巧并且有效。
import javax.swing.BoxLayout;
import javax.swing.JFrame;
import javax.swing.JSpinner;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
public class MultiSpinner extends JFrame implements ChangeListener{
JSpinner []sp ;
public MultiSpinner(){
sp = new JSpinner[10];
//initialize spinners
for(int i=0; i<sp.length; i++){
sp[i] = new JSpinner();
//this is important, i will be like and id of
//each spinner
sp[i].setName(String.valueOf(i));
sp[i].addChangeListener(this);
add(sp[i]);
}
this.getContentPane().setLayout(new BoxLayout(this.getContentPane(), BoxLayout.Y_AXIS));
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.pack();
this.setLocationRelativeTo(null);
}
public void stateChanged(ChangeEvent e) {
JSpinner temp = (JSpinner)e.getSource();
int i = Integer.parseInt(temp.getName());//remmember? Name was like and ID
System.out.println("Spinner "+i+" was clicked");
//do whatever you want
}
public static void main(String[]argS){
new MultiSpinner();
}
}
我已经使用 JButton setActionCommand(String str) 函数来检测特定按钮的事件。 我想对 JSpinner 类型的变量做同样的事情,所以我将能够监听我知道的微调器。
此代码适用于 JButton
JButton myButton = new JButton("O.k");
myButton.setActionCommand("ok");
我如何将上面的代码翻译成 JSpinner contexte。
这是一个完整的例子,#MadProgrammer 说你不能直接设置动作命令,我用 setName
方法代替,这就像一个技巧并且有效。
import javax.swing.BoxLayout;
import javax.swing.JFrame;
import javax.swing.JSpinner;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
public class MultiSpinner extends JFrame implements ChangeListener{
JSpinner []sp ;
public MultiSpinner(){
sp = new JSpinner[10];
//initialize spinners
for(int i=0; i<sp.length; i++){
sp[i] = new JSpinner();
//this is important, i will be like and id of
//each spinner
sp[i].setName(String.valueOf(i));
sp[i].addChangeListener(this);
add(sp[i]);
}
this.getContentPane().setLayout(new BoxLayout(this.getContentPane(), BoxLayout.Y_AXIS));
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.pack();
this.setLocationRelativeTo(null);
}
public void stateChanged(ChangeEvent e) {
JSpinner temp = (JSpinner)e.getSource();
int i = Integer.parseInt(temp.getName());//remmember? Name was like and ID
System.out.println("Spinner "+i+" was clicked");
//do whatever you want
}
public static void main(String[]argS){
new MultiSpinner();
}
}