Selecionar todas as imagens no laço for
17/08/2018
0
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.
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); } }
Rondinelli
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)