我有两个大小相同的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?
答案 0 :(得分:6)
ActionEvent
有一个source,它将是触发事件的JButton
。
public void actionPerformed(ActionEvent event) {
int i = buttonList.indexOf(event.getSource());
.
.
.
}