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)
- import java.awt.*;
- import javax.swing.*;
- public PrimeraVentana(){
- super("Mi Primera Ventana");
- //setSize(300,100);
- //setLocationRelativeTo(null);
- setBounds(500,100,300,150);
- setResizable(false);
- boton.setText("Chau!");
- boton.setEnabled(false);
- panel.add(etiqueta);
- panel.add(boton);
- panel.add(salir);
- add(panel);
- setVisible(true);
- }
- new PrimeraVentana();
- }
- }
Resultado:
Segundo Ejemplo
Para este segundo ejemplo use 3 imagenes jpg que tenia previamente en la carpeta de proyectos de mi IDE.
- import java.awt.Color;
- import java.awt.FlowLayout;
- import javax.swing.ImageIcon;
- import javax.swing.JButton;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- public class Instanciando {
- marco.setTitle("Kratos el Dios de la Guerra");
- marco.setSize(500, 210);
- marco.setLocationRelativeTo(null);
- panel.setLayout(layout);
- panel.add(boton1);panel.add(boton2);panel.add(boton3);
- marco.add(panel);
- marco.setVisible(true);
- }
- }
No hay comentarios:
Publicar un comentario