// librerias usadas en este programa
import javax.swing.JFrame; // ventana
import javax.swing.JPanel; // agrupar y arreglar
import javax.swing.JButton; // boton
import javax.swing.JLabel; // texto no modificable
// clases que permiten acomodar componentes de distintas maneras
import java.awt.BorderLayout; //Botones de direccion*
import java.awt.GridLayout; //Tablas (filas y columnas)*
import java.awt.FlowLayout; //Componentes en cadena horizontal*
import java.awt.Color;
// escuchadores y eventos
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
// aqui comienza nuestra clase
public class Botonesg implements ActionListener {
// todo el codigo va aqui adentro
public void actionPerformed(ActionEvent e) {
String cmd = e.getActionCommand();
System.out.print("Picaron!");
if (cmd.equals("ESP")) {
// que hacer cuando uno pica al boton Especial
this.contador++;
if (this.contador % 2 == 0) {
this.miPanel.setBackground(Color.GREEN);
} else {
this.miPanel.setBackground(Color.PINK);
}
return;
} else if (cmd.equals("SAL")) {
System.exit(1); // salir
}
}
// atributos de la clase Botones
private JPanel miPanel;
private JLabel miTexto;
private int contador;
// constructor de Botones
public Botonesg(JPanel p, JLabel t) {
this.miPanel = p;
this.miTexto = t;
this.contador = 0;
}
// el metodo principal
public static void main(String[] args) {
// creamos variables dentro del metodo main
JFrame f = new JFrame(); // una ventana nueva
// llamamos los metodos definidos en la libreria
f.setSize(800, 600); // que tan grande
f.setLocation(100, 200); // donde
f.setTitle("Ventana de Gemma"); // como se llama
// que pasa cuando lo cierro
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// creamos unos paneles para agrupar elementos
JPanel pGrid = new JPanel();
JPanel pFlow = new JPanel();
JPanel pBorder = new JPanel();
JPanel p = new JPanel(); // panel del fondo
// asignar los administradores de acomodo a cada panel
pGrid.setLayout(new GridLayout(5, 7));
pFlow.setLayout(new FlowLayout());
pBorder.setLayout(new BorderLayout());
p.setLayout(new GridLayout(3, 1));
// asignar un color de fondo a cada panel para distinguirlos
pGrid.setBackground(Color.BLUE);
pBorder.setBackground(Color.RED);
pFlow.setBackground(Color.YELLOW);
p.setBackground(Color.WHITE);
pGrid.add(new JButton("G"));
pGrid.add(new JButton("*"));
pGrid.add(new JButton("*"));
pGrid.add(new JButton("*"));
pGrid.add(new JButton("*"));
pGrid.add(new JButton("*"));
pGrid.add(new JButton("E"));
pGrid.add(new JButton("*"));
pGrid.add(new JButton("*"));
pGrid.add(new JButton("*"));
pGrid.add(new JButton("*"));
pGrid.add(new JButton("*"));
pGrid.add(new JButton("M"));
pGrid.add(new JButton("*"));
pGrid.add(new JButton("*"));
pGrid.add(new JButton("*"));
pGrid.add(new JButton("*"));
pGrid.add(new JButton("*"));
pGrid.add(new JButton("M"));
pGrid.add(new JButton("*"));
pGrid.add(new JButton("*"));
pGrid.add(new JButton("*"));
pGrid.add(new JButton("*"));
pGrid.add(new JButton("*"));
pGrid.add(new JButton("A"));
pBorder.add(new JLabel(" Norte"), BorderLayout.NORTH);
pBorder.add(new JLabel(" Sur"), BorderLayout.SOUTH);
pBorder.add(new JLabel("Oeste"), BorderLayout.WEST);
pBorder.add(new JLabel("Este"), BorderLayout.EAST);
pBorder.add(new JButton("===Centro==="), BorderLayout.CENTER);
pFlow.add(new JLabel("***********************************************************************************************************************************************************************************************"));
pFlow.add(new JButton("Gemma"));
pFlow.add(new JLabel("Programacion"));
pFlow.add(new JButton("Original"));
pFlow.add(new JLabel("Java"));
pFlow.add(new JButton("Programacion"));
pFlow.add(new JLabel("Gemma"));
pFlow.add(new JButton("Java"));
pFlow.add(new JLabel("Original"));
pFlow.add(new JLabel(" ***********************************************************************************************************************************************************************************************"));
/////***
// poner los paneles auxiliares en el panel del fondo
p.add(pGrid);
p.add(pBorder);
p.add(pFlow);
//***
// hacer que este panel sea el contenido de la ventana
f.setContentPane(p);
// hacer que la ventana sea visible
f.setVisible(true);
// imprimir en el terminal
System.out.println("Hola");
// salir del programa
return;
} // termina main
} // termina la clase Botones
Interesante tu codigo, me gusto, espero y puedas publicar mas articulos la respecto.
ResponderEliminar! Feliidades !