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

Entradas populares de este blog

Semana 6.

Semana No. 4

Semana No. 1