studio saber programacion presionado móviles libro desarrollo curso como boton aplicaciones java jframe jbutton actionlistener

saber - Comando de acción de botón de Java



manual de programacion android pdf (1)

Puede usar AbstractButton # setActionCommand .

En tu ciclo:

buttons[i].setActionCommand(i+"");

Entonces recuperarás i cuando uses getActionCommand

Nota: mencioné en un comentario sobre otra respuesta que crearía una nueva clase Mine que extends JButton que creo que es una solución mejor y más completa. Sin embargo, esto hace el trabajo bastante rápido.

Estoy creando un juego Minesweeper simple en Java. Tamaño 9x9.

Creo una serie de JPanels y una serie de botones; Agrego cada botón a su respectivo JPanel . luego agrego los JPanels al JFrame .

¿Cómo distingo entre cada botón en el evento de acción?

Aquí hay algo de mi código:

int gridx = 9; int gridy = 9; JButton[] buttons = new JButton[gridx*gridy]; JPanel[] jpanels = new JPanel[gridx*gridy]; public Minesweeper(){ super("Minesweeper"); setLayout(new GridLayout(9,9)); JPanel panel = new JPanel(); int i = 0; for(i = 0; i<gridx*gridy; i++){ jpanels[i] = new JPanel(); buttons[i] = new JButton(); buttons[i].addActionListener(buttonEvent); jpanels[i].setLayout(new GridLayout(1,1)); jpanels[i].add(buttons[i]); add(jpanels[i]); } //buttons[67].setEnabled(false); setSize(300,300); setVisible(true); }

La única forma en que puedo pensar en hacer esto es agregar texto al botón de esta manera:

buttons[i] = new JButton(i);

Luego llamando a getActionCommand() pero no quiero que el texto aparezca en el botón. ¿Alguna otra idea?