Semana 13
Java Swing.
Los programas que utilizan exclusivamente interfaces de usuario través de System.in y System.out son llamados
programas de consola. Los programas basados en interfaces gráficas (Graphical User Interfaces, GUI) en Java
son desarrollados a través de un conjunto de clases de los paquetes estándar javax.swing y java.awt. Estos
programas son usualmente llamados programas de escritorio.
Los programas de escritorio utilizan una serie de ventas para su funcionamiento.
Una forma intuitiva de escribir programar con entorno de ventanas, es usando la case JOptionPane, que ya
hemos utilizado en laboratorios anteriores. El código
JOptionPane.showMessageDialog(null, “Programación III);
Para conocer las constantes, atributos y métodos de los que consta alguna clase de Java, basta con consultar el
API (Application Programming Interface) de dicha clase. NetBeans integra la documentación disponible para las
clases en su ayuda contextual.
Para leer valores desde un cuadro de diálogo usamos el método showInputMessage, que despliega un cuadro de diálogo con una cuadro de texto que permite ingresar valores. Sin embargo, el valor leído por le método y devuelto como valor de retorno es de tipo String. Para resolver el problema de los valores numéricos, se utilizan las llamadas clases de envoltorio (Wrapper) que permiten convertir valores String a tipos primitivos o en algunos casos objetos de dichas clases.
JFrame.
La clase JFrame es usada principalmente como
contenedor de otros componentes Swing.
Crearemos un JFrame al que iremos incorporando los
elementos solicitados por el enunciado.
Usaremos el constructor de JFrame que recibe como
parámetro una cadena de caracteres como el título del JFrame.
Si consultamos el API de la clase JFrame, veremos que cuenta con un método setSize, donde uno de sus formas,
recibe dos parámetros que conformarán el tamaño de la ventana en pixeles.
JLable.
JLabel es una extensión de JComponent, por lo que tiene todas
las características de un componente Swing.
Crearemos el label usando el constructor que recibe como
parámetro el texto a mostrar. Una vez creado, agregaremos el
label al frame a través del método add, donde una de sus
implementaciones recibe como parámetro un componente.
JTextField.
De una forma similar a como se agregó el label,
agregaremos un campo de texto para capturar el
nombre del usuario.
JButton.
La clase JButton permite crear componentes de tipo
botón. Al igual que el resto de los componentes
usados hasta ahora, cuenta con una serie de
constructores dentro de los que se encuentra un
constructor que recibe como parámetro el texto que
se mostrará con el botón.
Usaremos este constructor para agregar los botones
Aceptar y Cancelar al formulario.
TableModel.
Para que los datos mostrados por la tabla sean dinámicos, usaremos un TableModel (modelo de tabla), que define
las características que debe cumplir un conjunto de datos, para poder ser mostrados por la tabla.
Para ello, definiremos como modelo de la tabla el tipo Custom code (código personalizado), y asignaremos al
modelo de la tabla, la variable modeloHabitaciones.
Como es lógico, la variable modeloHabitaciones debe existir en el formulario que estamos editando (que es una
clase). Para ello, debemos primero crear la clase ModeloHabitaciones, que debe extender la clase abstracta
AbstracTableModel.
Ejmplos.
/**
* Ilustra cómo crear una ventana heredando de JFrame.
*
*/
import java.awt.*;
import javax.swing.*;
public class Ventana03 extends JFrame
{
public Ventana03( String titulo )
{
setTitle( titulo );
inicializarComponentes();
mostrarVentana();
} //fin del constructor Ventana03
public void inicializarComponentes() {
setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE);
JButton btnUno = new JButton( "Uno" );
JButton btnDos = new JButton( "Dos" );
setLayout( new FlowLayout() );
add( btnUno );
add( btnDos );
} //fin del método inicializarComponentes
public void mostrarVentana()
{
setSize( 300, 200 );
setVisible( true );
} //fin del método mostrarVentana
} //fin de la clase Ventana03
2)
**
* Crea una ventana simple con JFrame y le agrega unos botones.
*/
import javax.swing.*;
import java.awt.*;
public class Ventana02
{
public static void main( String[] args )
{
JFrame miVentana = new JFrame();
miVentana.setTitle( "Mi Ventana 02" );
JButton btnUno = new JButton( "Uno" );
JButton btnDos = new JButton( "Dos" );
miVentana.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE);
miVentana.setLayout( new FlowLayout() );
miVentana.add( btnUno );
miVentana.add( btnDos );
miVentana.pack();
miVentana.setVisible( true );
} //fin del método main
} //fin de la clase ventana
Videos de Referencia.
Tipos de mensajes JFrame
JMenuBar
Comentarios
Publicar un comentario