Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/11/2011, 04:07
alexg88
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años, 6 meses
Puntos: 344
Respuesta: Necesito manipular muchos botones y Exisitirá Algo como un for each?

Lo que puedes hacer es utilizar un array donde guardes todos los botones y luego tienes la opción de usar un for normal.

Código Java:
Ver original
  1. JButton[] botones = new JButton[]{new JButton("1"), new JButton("2")};
  2.  
  3. for(int i=0;i<botones.length;i++){
  4.  
  5.                 botones[i].setActionCommand("bt"+i);
  6.                 botones[i].addActionListener(unAction);
  7. }

EDITO:

Puedes utilizar esto también:

Código Java:
Ver original
  1. JFrame ventana = new JFrame();
  2.  
  3. Components[] componentes = ventana.getContentPane().getComponents();
  4.  
  5. for(int i=0;i<componentes.length;i++){
  6.  
  7.    if (componentes[i] instanceof JButton)
  8.            {
  9.                componentes[i].setActionCommand("bt"+i);
  10.                componentes[i].addActionListener(unAction);
  11.             }
  12. }

Esto sólo funciona si todos los botones han sido añadidos directamente al contentPane del JFrame y no mediante otros JPanel.
De ser así, tendrías que realizar una función recursiva (no tiene porque ser recursiva) que recorriera todos los niveles de componentes buscando los que son botones.

Última edición por alexg88; 15/11/2011 a las 04:20