Boton.
java
import [Link];
import [Link];
import [Link];
import [Link];
public class Boton extends JButton implements ActionListener {
//-------- Constructor con parametros para posicionar a los botones ------//
public Boton( int pos_x, int pos_y, int ancho, int alto ){
//Se coloca el boton en un lugar y se le da un tamanio
setBounds(pos_x, pos_y, ancho, alto);
//Se agrega el action listener en este caso la misma clase
addActionListener( this );
}
//------------------------------------------------------------------------//
//---------------------- Se asigna una el nombre del boton ---------------//
public void setNombre( int f, int c ){
setText( f + " , " + c );
}
//------------------------------------------------------------------------//
//------------------ Al darle click realizara este metodo ----------------//
public void actionPerformed( ActionEvent e ){
//Se asigna el color de fondo azul
setBackground([Link]);
//Se asigna un color de letra color blanco
setForeground([Link]);
}
//------------------------------------------------------------------------//
}
[Link]
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
public class MatrizBoton extends JFrame implements ActionListener {
public MatrizBoton() {
JToolBar barraHerramientas = new JToolBar();
JLabel lblFilas = new JLabel();
JLabel lblColumnas = new JLabel();
txtColumnas = new JTextField();
txtFilas = new JTextField();
btnCrear = new JButton();
panel = new JPanel( null );
//Para que el JFrame cierre la aplicacion
[Link](JFrame.EXIT_ON_CLOSE);
[Link]("Filas");
[Link](lblFilas);
[Link](new Dimension(50, 25));
[Link](txtFilas);
[Link]("Columnas");
[Link](lblColumnas);
[Link](new Dimension(50, 25));
[Link](txtColumnas);
[Link]("Crear");
[Link](this);
[Link](btnCrear);
//Colocamos el JToolBar en la parte de arriba del JFrame
[Link](barraHerramientas, BorderLayout.PAGE_START);
//Se agrega el panel a boton
[Link](panel, [Link]);
[Link](410, 330);
//Permite que la ventana se coloque al centro de la pantalla
[Link](null);
}
public void actionPerformed( ActionEvent evt ) {
//Se obtiene la cantidad de filas a crear como una cadena de
caracter
String f = [Link]();
//Se obtiene la cantidad de columnas a crear como una cadena de
caracter
String c = [Link]();
//Se cambia de cadena de caracteres a numeros
int filas = [Link](f);
int columnas = [Link](c);
//Eliminamos los anteriores botones
[Link]();
//Se crea una matriz de botones segun las filas y columnas entrantes
Boton [][] botones = new Boton[ filas ][ columnas ];
//Se recorren las filas
for( int fila = 0 ; fila < filas; fila++ )
{
//Estando en la fila se recorrer las columnas
for( int columna = 0 ; columna < columnas; columna++ )
{
//Se crea el boton y se agrega a las celda de la matriz
botones[fila][columna] = new Boton( 75 * columna, 30 * fila, 75,
30 );
//Se da el nombre en forma de coordenada enviando la fila y
columna
botones[fila][columna].setNombre(fila, columna);
//Se agrega el boton al panel
[Link]( botones[fila][columna] );
}
}
//Se actualiza el panel para que se vean los botones
[Link]();
}
public static void main(String args[]) {
try {
[Link]("[Link]
AndFeel");
} catch (Exception ex) {
[Link]();
}
new MatrizBoton().setVisible(true);
}
JButton btnCrear;
JTextField txtColumnas;
JTextField txtFilas;
JPanel panel;
}