Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Swing
String primerNumero =
JOptionPane.showInputDialog( "Introduzca el primer entero" );
String segundoNumero =
Para realizar el cálculo en esta aplicación, debemos convertir los objetos String
que el usuario introdujo, en valores int. El método static parseInt de la clase
Integer convierte su argumento String en un valor int. Se asignan los valores
convertidos a las variables locales numero1 y numero2. Después, se suman
estos valores y asigna el resultado a la variable local suma.
Diálogos de mensaje
Componentes de Swing
En comparación, Swing usa su propio estilo sin importar el estilo local del sistema
operativo, por lo cual las aplicaciones aparecen de forma consistente sin importar
de qué S.O. se trata.
Componente Descripción
Una GUI típica consiste en muchos componentes. En una GUI extensa, puede
ser difícil identificar el propósito de cada componente, a menos que el diseñador
de la GUI proporcione instrucciones de texto o información que indique el
propósito de cada componente. Dicho texto se conoce como etiqueta y se crea
con la clase JLabel; una subclase de JComponent. Un objeto JLabel muestra
una sola línea de texto de sólo lectura, una imagen, o texto y una imagen. Raras
veces las aplicaciones modifican el contenido de una etiqueta, después de
crearla.
Por lo general, un usuario interactúa con la GUI de una aplicación para indicar
las tareas que ésta debe realizar. Por ejemplo, cuando se escribe un mensaje en
una aplicación de correo electrónico, al hacer clic en el botón Enviar le indica a
la aplicación que envíe el correo electrónico a las direcciones especificadas. Las
GUIs son controladas por eventos. Cuando el usuario interactúa con un
componente de la GUI, la interacción (conocida como un evento) controla el
programa para que realice una tarea. Algunos eventos (interacciones del
usuario) comunes que podrían hacer que una aplicación realizara una tarea
// MarcoBoton.java
import java.awt.FlowLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JoptionPane;
public MarcoBoton()
JoptionPane.showMessageDialog(MarcoBoton.this,
String.format("Presionado:%s",evento.getActionCommand()));
La aplicación crea dos objetos JButton y demuestra que estos objetos tienen
soporte para mostrar objetos Icon. El manejo de eventos para los botones se
lleva a cabo mediante una sola instancia de la clase interna ManejadorBoton.
// PruebaBoton.java
// Prueba de MarcoBoton.
import javax.swing.JFrame;
marcoBoton.setDefaultCloseOperation(
JFrame.EXIT_ON_CLOSE );
} // fin de main
Los objetos JButton, al igual que los objetos JTextField, generan eventos
ActionEvent que pueden ser procesados por cualquier objeto ActionListener. En
el ejemplo se crea un objeto de la clase interna private ManejadorBoton y se
registra como el manejador de eventos para cada objeto JButton. La clase
ManejadorBoton declara a actionPerformed para mostrar un cuadro de diálogo
de mensaje que contiene la etiqueta del botón que el usuario oprimió. Para un
evento de JButton, el método getActionCommand de ActionEvent devuelve la
etiqueta del botón.
Usando JList
Una lista muestra una serie de elementos, de la cual el usuario puede seleccionar
uno o más. Las listas se crean con la clase JList, que extiende directamente a la
clase JComponent. La clase JList soporta listas de selección simple (listas que
permiten seleccionar solamente un elemento a la vez) y listas de selección
múltiple (listas que permiten seleccionar cualquier número de elementos a la
vez). En esta sección hablaremos sobre las listas de selección simple. La
aplicación de ejemplo crea un objeto JList que contiene los nombres de 13
colores. Al hacer clic en el nombre de un color en el objeto JList, ocurre un evento
ListSelectionEvent y la aplicación cambia el color de fondo de la ventana de
aplicación al color seleccionado. La clase PruebaLista contiene el método main
que ejecuta esta aplicación.
// MarcoLista.java
import java.awt.FlowLayout;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.event.ListSelectionListener;
import javax.swing.event.ListSelectionEvent;
import javax.swing.ListSelectionModel;
public MarcoLista()
listaJListColores.setSelectionMode( ListSelectionModel.SINGLE_SELECTION );
listaJListColores.addListSelectionListener(
getContentPane().setBackground(
colores[ listaJListColores.getSelectedIndex() ] );
// PruebaLista.java
import javax.swing.JFrame;
marcoLista.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
} // fin de main
Administradores de esquemas