1

我有两个大小相同的数组列表,一个用于 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;
}

我如何知道 JButton ArrayList 中的索引“i”?

4

1 回答 1

6

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

public void actionPerformed(ActionEvent event) {
    int i = buttonList.indexOf(event.getSource());
    .
    .
    .
}
于 2013-11-08T14:35:27.430 回答