mayo 13, 2010

JFrame.

JFrame es un contenedor donde colocar componentes. La clase JFrame se encuentra en el paquete javax.swing. La mayoría de las ventanas son instancias de la clase JFrame o subclases de JFrame.

JFrame proporciona los atributos y comportamientos básicos de una ventana.

Ejemplo 1.
/**
 * Crea una ventana simple con JFrame.
 */
import javax.swing.*;
public class Ventana
{
    public static void main( String[] args ) 
    {
        JFrame miVentana = new JFrame( "Mi Ventana" );
        miVentana.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE);
        miVentana.setSize( 300, 200 );
        miVentana.setVisible( true );
    }   //fin del método main
}   //fin de la clase ventana

En el ejemplo utilizamos el constructor JFrame(String título) para establecer el título de la ventana. En la siguiente instrucción indicamos con void setDefaultCloseOperation(int operación) que la aplicación termine si el usuario hace un clic sobre el botón cerrar de la ventana. Otras constantes que podemos utilizar son:

• JFrame.DO_NOTHING_ON_CLOSE
• JFrame.HIDE_ON_CLOSE
• JFrame.DISPOSE_ON_CLOSE
• JFrame.EXIT_ON_CLOSE

Con setSize( int ancho, int alto ) establecemos el tamaño de la ventana que se mide en pixeles y finalmente con setVisible(true) mostramos la ventana.

Ejemplo 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
En el ejemplo utilizamos el método setTitle( título ) para especificar el título del objeto JFrame. Luego creamos dos botones que serán agregados al JFrame con el método add( Component componente). Cambiamos el administrador de esquema por default que es BorderLayout por FlowLayout utilizando el método setLayout( LayoutManager manejador ). Finalmente utilizamos el método pack() para redimensionar automáticamente el tamaño de la ventana al espacio ocupado por los botones.

Ejemplo 3.
/**
 * 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

En el ejemplo mostramos como crear una subclase de JFrame. El código es similar al mostrado en el Ejemplo 2, solo que necesitaremos otra clase con el método main para verificar su funcionamiento:

/**
 * Ilustra el funcionamiento de la clase Ventana03.
 */
public class TestVentana03
{
    public static void main( String[] args ) {
        Ventana03 uno = new Ventana03( "Ventana 01" );
        Ventana03 dos = new Ventana03( "Ventana 02" );
    }   //fin del método void main
}   //fin de la clase TestVentana03

Véase


6 comentarios:

  1. Respuestas
    1. yo también y se me antoja espaguetti con una coca de dieta

      Eliminar
  2. El vídeo debería tener una opción para aumentarlo y así poder verlo mejor

    ResponderEliminar
  3. muy bueno pero cual es la estructura

    ResponderEliminar
  4. porque DRJava saca error en la instrucción de add para añadir un botón con JButton

    ResponderEliminar

Deja tus comentarios