Botones

    He estado algo alejado del blog, ya que comence los estudios y se me hace algo dificultoso publicar algo todos los días, pero eso si, mantendre el blog actualizado explicando cosas útiles para nuestros programas.

    Hoy vamos a ver como crear un botón en Java, y es sencillo ya que se maneja como las variables del tipo "Menu", explicadas anterior mente en la entrada "Crear un Frame con menú (Parte 3)".

    Los pasos a seguir son los siguientes:

- Primero creamos variables del tipo botón.

- Utilizamos el método "add" para agregar los botones al contenedor que estemos utilizando, por ejemplo un "Panel" o un "Frame".

- Al momento de invocar al botón, debemos indicarle al programa donde lo va a ubicar, para ello podemos utilizar coordenadas o simplemente los puntos cardinales norte, sur, este y oeste, o si lo queremos centrado.

    North = Norte         (arriba)

    South = Sur           (abajo)

    East = Este           (derecha)

    West = Oeste       (izquierda)

    Center = Centro

    Por ejemplo, si queremos crear dos botones, uno a la derecha y otro a la izquierda, debemos colocar uno con "East" y otro con "West". Para que lo veamos mejor seria así.

         add("East", BOTON1);
         add("West", BOTON2);

    Estos son los pasos para crear un botón en java, como podemos ver es muy sencillo, las variables se crean igual que como si se tratara de un menú. Al saber esto podemos manejar los eventos de la misma forma que manejamos las opciones de un menú desplegable, en esta entrada se explica como hacerlo.

    La forma en que se manejan solo tiene una pequeña variación. En lugar de ser una instancia de un "MenuItem", sera un instancia de un "Button", es decir de un botón. Para quedar más claros en esta parte, colocamo el código del "handleEvent" de esta manera:

              if (VARIABLE_EVENTO.target instanceof Button)

    Donde "VARIABLE:EVENTO" es el nombre de la variable que coloquemos al momento de crear el método que escuche los eventos. Luego la forma de llamar a una acción al momento de generarse un evento en el botón, es la misma que para un "CheckBox" o para un "MenuItem", seria algo así.

              if("NOMBRE_DEL_BOTON".equals(VARIABLE_EVENTO.arg))

    Donde "NOMBRE_DEL_BOTON" es el nombre que lleva el botón, no es el nombre de la variable del botón, por ejemplo, si la variable del botón se llama "boton1" y lo que mostrara por pantalla dice "boton", entonces el nombre del botón que debemos colocar es "boton" y no "boton1".

    De cualquier forma, esto se ve mejor en un ejemplo, ya que explicandolo en teoría se ve todo más complicado. Por eso dejo un enlace con un ejemplo, donde el programa pregunta si desea salir o continuar, es un ejemplo sencillo donde hay dos botones, y cada uno tiene una acción.

import java.awt.*;
import javax.swing.*;

public class Muestra extends Frame
{

Button si = new Button("Sí");
Button no = new Button("No");
Label comentario = new Label("¿Desea salir del programa?", Label.CENTER);

public Muestra ()
{
this.setSize(200,100);
add("North", comentario);
add("East", si);
add("West", no);
}

public boolean handleEvent(Event evt)
{
if (evt.id == Event.WINDOW_DESTROY)
System.exit(0);

if (evt.target instanceof Button)
{
if("Sí".equals(evt.arg))
{
String SI="Si",NO="No";
Object[]OPCION={SI,NO};
int op=JOptionPane.showOptionDialog(null,"¿Salir del programa?","Salir",
JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE,null,OPCION,SI);

if (op == JOptionPane.YES_OPTION)
System.exit(0);

else if (op == JOptionPane.NO_OPTION)
main(null);

else if (op == JOptionPane.CLOSED_OPTION)
System.out.println("dialogo cerrado");
}

if("No".equals(evt.arg))
JOptionPane.showMessageDialog(null, "A seleccionado el botón No",
"Botones", JOptionPane.INFORMATION_MESSAGE);

return (true);
}
return super.handleEvent(evt);
}

public static void main (String args[]){
Muestra PROGRAMA=new Muestra();
PROGRAMA.show();
}
}

    En el ejemplo, he agregado una etiqueta "Label", para que se vea un poco mas agradable. Al momento de presionar el botón "Si", se nos muestra un diálogo preguntando al usuario si desea salir del programa, la parte de la opción de salir del programa que se muestra en un diálogo, esta mejor explicada en la entrada "Java Swing (diálogos)".



Lamentablemente hay muchos usuarios en la red que han llegado al blog para escribir obscenidades, así que la moderación se hace necesaria. Recuerda utilizar un lenguaje correcto y espera a que sea aprobado.

Si necesitas publicar código haz click en "Conversión" para hacerlo legible.
ConversiónConversión