miércoles, 16 de junio de 2010

Botones

// 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

1 comentario:

  1. Interesante tu codigo, me gusto, espero y puedas publicar mas articulos la respecto.

    ! Feliidades !

    ResponderEliminar