Botones en java

Clasificado en Informática

Escrito el en español con un tamaño de 5,93 KB

botons
s puedn crar objtos button conl oprador nw:
Button boton;
boton = new Button( "Botón");
la cadna utilizada en la cración dl botón aparcrá enl botón cuando s visualic en pantaya. sta cadna también s dvolvrá xa utilizarla cm idntificación dl botón cuando ocurra 1 evnto.
evntos button
cada vz kl usuario pulsa 1 botón, s produc 1 evnto, d la misma forma k s produc 1 evnto cuando s aprietal botón dl ratón. ls evntos d pulsación d 1 botón s puedn capturar sobrcargandol método action():
public boolean action( Event evt,Object obj ) {
if( evt.target instanceof Button )
System.out.println( (String)obj );
else
System.out.println( "Evento No-Button" );
}
La distinción entre todos los botones existentes se puede hacer utilizando el objeto destino pasado por el objeto Event y comparándolo con los objetos botón que hemos dispuesto en nuestro interface:

import java.awt.*;
import java.applet.Applet;
public class Botones extends Applet {
Button b1,b2,b3;
public void init() {
b1 = new Button( "Botón B1" );
b2 = new Button( "Botón B2" );
b3 = new Button( "Botón B3" );

this.add( b1 );
this.add( b2 );
this.add( b3 );
}
public boolean action( Event evt,Object obj ) {
if( evt.target.equals( b1 ) )
System.out.println( "Se ha pulsado el boton B1" );
if( evt.target.equals( b2 ) )
System.out.println( "Se ha pulsado el boton B2" );
if( evt.target.equals( b3 ) )
System.out.println( "Se ha pulsado el boton B3" );
return true;
}
}
botons d lista
ls botons d slcción en 1a lista (xoic) prmitnl rápido accso a 1a lista dlmntos. x ejmplo, podríamos implmntar 1a slcción d colors y mantnrla en 1 botón xoic:

import java.awt.*;
import java.applet.Applet;
public class BotonSeleccion extends Applet {
Choice Selector;
public void init() {
Selector = new Choice();
Selector.addItem( "Rojo" );
Selector.addItem( "Verde" );
Selector.addItem( "Azul" );
add( Selector );
}
public boolean action( Event evt,Object obj ) {
if( evt.target instanceof Choice )
{
String color = (String)obj;
System.out.println( "El color elegido es el " + color );
}
return true;
}
}
la cadna proxcionada al método additm() srá dvuelta enl argumnto objct d 1 evnto xoic, xyo enl manjador dl botón d slcción, comprobamos en primr lugar k s trat efctivamnt d 1 evnto gnrado en 1 botón d tipo xoic.
botons d marcación
ls botons d comprobació n (xeckbox) s utilizan frcuentmnt cm botons d stado. proxcionan informació n dl tipo sí o no (true o fals).l stado dl botó n s dvuelv enl argumnto objct d ls evntos xeckbox;l argumnto s d tipo boolano: vrdadro (true) si la caja s a slccionado y falso (fals) en otro caso.
tantol nombr cml stado s dvuelvn enl argumnto dl evnto, aunk s puedn obtnr a travé s d ls mé to2 gtlabl() y gtstat() dl objto xeckbox.

import java.awt.*;
import java.applet.Applet;
public class BotonComprobacion extends Applet {
Checkbox Relleno;
public void init() {
Relleno = new Checkbox( "Relleno");
add( Relleno );
}
public boolean action( Event evt,Object obj ) {
if( evt.target instanceof Checkbox )
System.out.println( "CheckBox: " + evt.arg.toString() );
return true;
}
}
botons d slcción
ls botons d comprobación s puedn agrupar xa formar 1a intrfaz d botón d radio (xeckboxgroup), k sn agrupacions d botons xeckbox en ls k siempr ay 1 único botón activo.

import java.awt.*;
import java.applet.Applet;
public class BotonRadio extends Applet {
CheckboxGroup Radio;
public void init() {
Radio = new CheckboxGroup();
add( new Checkbox( "Primero",Radio,true) );
add( new Checkbox( "Segundo",Radio,false) );
add( new Checkbox( "Tercero",Radio,false) );
}
}
enl ejmplo antrior obsrvamos k siempr ay 1 botón activo entr ls k conformanl intrfaz d comprobación k s a implmntado.
Botones Autocontenidos
La naturaleza orientada a objetos de Java nos da la posibilidad de crear botones completamente autocontenidos. En este tipo de botón, se construye el manejador de eventos dentro de la propia clase extendida de botón. Se pueden añadir estos botones a la aplicación, sin tener que preocuparse de los eventos que pudieran generar.

import java.awt.*;
import java.applet.Applet;
c l ass BotonAceptar extends Button {
public BotonAceptar() {
setLabel( "Aceptar" );
}
public boolean action( Event evt,Object obj ) {
System.out.println( "Boton Aceptar" );
return true;
}
}
public class BotonAuto extends Applet {
BotonAceptar boton;

public void init() {
boton = new BotonAceptar();
add( boton );
}
}
Es de hacer notar que no hay un método action() en la clase applet BotonAuto, la clase BotonAceptar manejará sus eventos. Si se hubiesen colocado otros objetos en el applet, se podría haber usado un método action() para tratar los eventos de esos objetos.

Entradas relacionadas: