Selecionar todas as imagens no laço for

17/08/2018

2

Estou tentando implementar uma função que selecione todas as imagens que o laço for gera e faça alguma função com elas (ex: setar a borda, deixar desativado), porém quando executo minha aplicação ela seleciona apenas os últimos botões com imagens, mas não os primeiros. Peço desculpas pelo código um tanto quanto primário pois sou novo nesta área, apesar da idade da linguagem.
Segue o cod.

import java.awt.BorderLayout;  
import java.awt.Component;  
import java.awt.FlowLayout; 
import java.awt.event.ActionEvent;  
import java.awt.event.ActionListener;  
import javax.swing.ImageIcon;
  
import javax.swing.JButton;  
import javax.swing.JFrame;  
import static javax.swing.JFrame.EXIT_ON_CLOSE;
import javax.swing.JPanel;   
  
public class Selecionar extends JFrame {  

    private JPanel jpanel;
    private JButton btnselecionar;
    private JPanel jpanelFixo;
   
    public Selecionar() {
    super("Selecionando Imagens");  
    setDefaultCloseOperation(EXIT_ON_CLOSE);  
    //setLayout(null);  
    setSize(800, 600);
    
    /*********************************************/
    
    int qtdLoop = 2;
    jpanelFixo = new JPanel();
    
    for (int x=0;x<qtdLoop;x++){//2 GIROS
    
    jpanel = new JPanel(new FlowLayout(FlowLayout.LEFT, 11,20));
    btnselecionar = new JButton("Marcar");
        for (int i = 0; i < 3; i++) {
            jpanel.add(new JButton(new ImageIcon("img/iconecadastro2.png")));
        }
    jpanelFixo.add(btnselecionar, BorderLayout.SOUTH);
    jpanelFixo.add(jpanel);
  
    }//FIM DO LAÇO
    
    add(jpanelFixo, BorderLayout.CENTER);
  
    btnselecionar.addActionListener(new ActionListener() {
  
        public void actionPerformed(ActionEvent e) {
        Component componentes[] = jpanel.getComponents();
        
        for (Component c : componentes) {
            if (c instanceof JButton) {
                if(((JButton) c).isEnabled() == true){
                    ((JButton) c).setEnabled(false);
                }else{
                    ((JButton) c).setEnabled(true);
                }
            }
        }
    }
    });  
    
    }  
  
    public static void main(String[] args) {  
    new Selecionar().setVisible(true);  
    }
}
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar