Todos los tipos de botones son subclases de AbstractButton (paquete javax.swing), la cual declara las características comunes para los botones de Swing.
Un botón de comando genera un evento ActionEvent cuando el usuario hace clic en él. Los botones de comando se crean con la clase JButton. El texto de la cara de un objeto JButton se llama etiqueta del botón. Una GUI puede tener muchos objetos JButton, pero cada etiqueta de botón debe generalmente ser única en las partes de la GUI en que se muestre.
Ejemplo.
/** * Programa que calcula el doble de un número */ import javax.swing.*; import java.awt.*; import java.awt.event.*; public class DobleNumero { JFrame miVentana; JButton btnCalcular; JLabel lblDisplay; public DobleNumero() { inicializarComponentes(); mostrarVentana(); } //fin del constructor DobleNumero public void inicializarComponentes() { miVentana = new JFrame( "Calcula el doble de un número" ); btnCalcular = new JButton( "Calcular" ); lblDisplay = new JLabel( "2", JLabel.CENTER ); miVentana.add( lblDisplay, BorderLayout.NORTH ); miVentana.add( btnCalcular, BorderLayout.SOUTH ); //activa el evento escuchador para el botón btnCalcular.addActionListener( new Escuchador() ); } //fin del método inicializarComponentes public void mostrarVentana() { miVentana.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); miVentana.setSize( 300, 100 ); miVentana.setVisible( true ); } //fin del método mostrarVentana private class Escuchador implements ActionListener { public void actionPerformed( ActionEvent e ) { //Recupera el contenido del caption del botón String cadNumero = lblDisplay.getText(); //Convierte a número int numero = Integer.parseInt( cadNumero ); //Realiza el cálculo numero = numero * 2; //Asigna el resultado al caption del botón lblDisplay.setText( Integer.toString( numero ) ); } //fin del método actionPerformed } //fin de la clase Interna Escuchador } //fin de la clase DobleNumero
El ejemplo utiliza un JLabel y un JButton que nos permite calcular el doble de un número y lo despliega en la JLabel. El siguiente código nos probar el código anterior.
/** * Ilustra el funcionamiento de la clase DobleNumero. */ public class TestDobleNumero { public static void main( String[] args ) { DobleNumero app = new DobleNumero(); } //fin del método void main } //fin de la clase DobleNumero