Java jbutton在一个arraylist中,我怎么知道哪一个被点击了

时间:2013-11-08 14:32:14

标签: java swing arraylist jbutton actionlistener

我有两个大小相同的arraylists,一个用于JButton,一个用于JTextField。单击按钮时,应更新相应的文本字段。我怎么能意识到这一点?

P.S。 jcomponents对(jbutton + jtextfield)的数量不固定。它们旨在由用户添加或删除。但是,它们必须处于固定顺序。

    ArrayList<JButton> buttonList = new ArrayList<JButton>();
    ArrayList<JTextField> textFieldList = new ArrayList<JTextField>();

    private JButton createButton(){
    JButton button = new JButton("Choose File");
    buttonList.add(button);
    button.addActionListener(
            new ActionListener(){
                public void actionPerformed(ActionEvent event){
                    textField = textFieldList.get(i)
                    textField.setText("show updats");
                }
            }       
    );      
    return button;
}

我怎样才能知道索引&#34; i&#34;在JButton ArrayList?

1 个答案:

答案 0 :(得分:6)

ActionEvent有一个source,它将是触发事件的JButton

public void actionPerformed(ActionEvent event) {
    int i = buttonList.indexOf(event.getSource());
    .
    .
    .
}