Having a different action for each button dynamically created in a loop

Posted by Oliver on Stack Overflow See other posts from Stack Overflow or by Oliver
Published on 2010-03-12T01:55:23Z Indexed on 2010/03/12 1:57 UTC
Read the original article Hit count: 309

Filed under:
|
|
|

Hi, use this website a lot but first time posting. My program creates a number of buttons depending on the number of records in a file. E.g. 5 records, 5 buttons.

The buttons are being created but i'm having a problem with the action listener.

If add the action listener in the loop every button does the same thing; but if I add the action listener outside the loop it just adds the action listener to last button.

Any ideas?

Here is what I have code-wise (I've just added the for loop to save space):

int j=0;
for(int i=0; i<namesA.size(); i++)
{
    b = new JButton(""+namesA.get(i)+"");
    conPanel.add(b);
    conFrame.add(conPanel);

    b.addActionListener(new ActionListener(){
        public void actionPerformed(ActionEvent ae2){

                System.out.println(namesA.get(j));

        }
    }});
    j++;
}

Much Appreciated

© Stack Overflow or respective owner

Related posts about java

Related posts about jbutton