1

同じサイズの 2 つの配列リストがあり、1 つは JButton 用、もう 1 つは 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 に答える