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: 369
        
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