将 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();
    }
}