JFrame

Class JFrame

java.lang.Object
java.awt.Component
java.awt.Container
java.awt.Window
java.awt.Frame
javax.swing.JFrame

La clase JFrame pertenece al paquete swing y será necesario importarlo al momento de querer usarlo. Es sub-clase de Frame, Window, container y component de awt y por supuesto sub-clase de Object como todas, de estas clases hereda sus atributos y cmportamientos.

Atributos JFrame

Contiene la variable de clase entera EXIT_ON_CLOSE que cierra la ventana por defecto, entre otras variables propias más todas la que hereda, ver el resume de la clase en la documentación oficial.


Constructores JFrame

Existen 4 constructores para la clase:

  • JFrame()
    • Crea un nueva ventana inicializada como invisible.
  • JFrame(String title)
    • Crea una nueva ventana inicializada como invisible y utiliza el String del parámetro como el titulo del marco.
  • Los otros 2 configuran gráficos en la pantalla

Métodos JFrame

  • setDefaultCloseOperation(int operation)
    • Establece la operación que va a pasar de forma predeterminada cuando el usuario "cierra" el marco.
  • setLayout(LayoutManager manager)
    • Establece el controlador de distribución (LayoutManager).

Métodos heredados de la clase java.awt.Frame

  • setIconImage(Image image)
    • Establece la imagen que se mostrará como el icono de esta ventana.
  • setResizable(boolean resizable)
    • Establece si este marco puede cambiar de tamaño por el usuario.
  • setTitle(String title)
    • Configura el titulo de la ventana con el String.

Métodos heredados de la clase java.awt.Window

  • pack()
    • Modifica la ventana para tener el tamaño para ajustarse al tamaño preferido y diseños de sus subcomponentes.
  • setBackground(Color bgColor)
    • Configura el color de fondo de la ventana
  • setBounds(int x, int y, int width, int height)
    • Establece los limite y posición de la ventana, alto y ancho (x,y) y posición (width,height)
  • setLocation(int x, int y) ó setLocation(Point p)
    • Configura la posición de la ventana en parametros de x e y o como un objeto Point tambien x e y.
  • setLocationRelativeTo(Component c)
    • Establece la ubicación de la ventana con respecto al componente especificado. Si el parámetro es nulo estará centrado.
  • setSize(int width, int height)
    • Configura el tamaño de la ventana en valores de ancho y alto.
  • setVisible(boolean b)
    • configura la visibilidad de la ventana.

Métodos heredados de la clase java.awt.Container

  • add(Component comp)
    • Añade el componente especificado al final de este contenedor.
  • remove(Component comp) ó removeAll()
    • Remueve el componente del contenedor ó quita todos los componentes.
  • setFont(Font f)
    • Establece la fuente de este contenedor (ver clase Font).
  • setLayout(LayoutManager mgr)
    • Configurar el Layout para este contenedor.

Métodos heredados de la clase java.awt.Component

  • setBackground(Color c)
    • configura el fondo del componente. (ver clase Color)
  • setEnabled(boolean b)
    • Activa o desactiva este componente, en función del valor del parámetro b.
  • setFont(Font f)
  • setLocation(int x, int y)
  • setSize(int width, int height)
  • setVisible(boolean b)

Configurando Marco

Veamos como funcionan los métodos en unos ejemplos : (Hice uso de otros componentes como JPanel, JLabel y JButton)

  1. import java.awt.*;
  2. import javax.swing.*;
  3.  
  4. public class PrimeraVentana extends JFrame{
  5.     JPanel panel = new JPanel();
  6.     JLabel etiqueta = new JLabel("Hola Mundo");
  7.     JButton boton = new JButton();
  8.     JButton salir = new JButton("Salir");
  9.     public PrimeraVentana(){
  10.         super("Mi Primera Ventana");
  11.         //setSize(300,100);
  12.         //setLocationRelativeTo(null);
  13.         setBounds(500,100,300,150);
  14.         setResizable(false);
  15.         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  16.        
  17.         boton.setText("Chau!");
  18.         boton.setEnabled(false);
  19.         etiqueta.setFont( new Font("MONOSPACED", 0, 36));
  20.         panel.add(etiqueta);
  21.         panel.add(boton);
  22.         panel.add(salir);
  23.         panel.setBackground(Color.  ORANGE);
  24.        
  25.         add(panel);
  26.         setVisible(true);
  27.     }
  28.     public static void main(String[] args) {
  29.         new PrimeraVentana();
  30.     }
  31. }

Resultado:


Segundo Ejemplo

Para este segundo ejemplo use 3 imagenes jpg que tenia previamente en la carpeta de proyectos de mi IDE.


  1. import java.awt.Color;
  2. import java.awt.FlowLayout;
  3. import javax.swing.ImageIcon;
  4. import javax.swing.JButton;
  5. import javax.swing.JFrame;
  6. import javax.swing.JPanel;
  7.  
  8. public class Instanciando {
  9.     static JPanel panel = new JPanel();
  10.     static ImageIcon icono1 = new ImageIcon("src/versentir/kratoslbp.jpg");
  11.     static ImageIcon icono2 = new ImageIcon("src/versentir/kratoslego.jpg");
  12.     static ImageIcon icono3 = new ImageIcon("src/versentir/imagen1.jpg");
  13.     static JButton boton1 = new JButton(icono1);
  14.     static JButton boton2 = new JButton(icono2);
  15.     static JButton boton3 = new JButton(icono3);
  16.     public static void main(String[] args) {
  17.         JFrame marco = new JFrame();
  18.         marco.setTitle("Kratos el Dios de la Guerra");
  19.         marco.setSize(500, 210);
  20.         marco.setLocationRelativeTo(null);
  21.  
  22.         panel.setBackground(Color.BLUE);
  23.         FlowLayout layout = new FlowLayout();
  24.         panel.setLayout(layout);
  25.         panel.add(boton1);panel.add(boton2);panel.add(boton3);
  26.         marco.add(panel);
  27.        
  28.         marco.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  29.         marco.setVisible(true);
  30.     }
  31.  
  32. }

No hay comentarios:

Publicar un comentario