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

Mil*_* Lu 1 java swing arraylist jbutton actionlistener

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

ps 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;
}
Run Code Online (Sandbox Code Playgroud)

我怎么知道JButton ArrayList中的索引"i"?

Jef*_*rey 6

ActionEvent有一个来源,这将是JButton被触发事件.

public void actionPerformed(ActionEvent event) {
    int i = buttonList.indexOf(event.getSource());
    .
    .
    .
}
Run Code Online (Sandbox Code Playgroud)