JFRAME EN JAVA
La clase JFrame implementa un objeto ventana, JFrame es una extensión de
la clase Frame del paquete AWT.
Para crear una ventana, existen dos formas principales de hacerlo:
Crear un objeto de la clase JFrame
Extender la clase JFrame
El último método es muy útil cuando se crean ventanas personalizadas que
se invocan repetidamente (como ventanas de error, o de información).
Crearemos una ventana con el primer método:
ventana = new JFrame();
Una vez creado una ventana JFrame, ésta obtiene el tamaño necesario para
mostrar los componentes que existen dentro de la aplicación, como en nuestro
ejemplo no existe componente, cambiaremos su tamaño inicial, con el método:
setSize(int ancho, int largo)
Después cambiaremos su título para que sea el nombre de nuestra
aplicación con el método: setTitle(String titulo)
ventana.setTitle("Hola mundo
Swing");
El objeto existe, pero no es mostrado por defecto, entonces se hace la
llamada a: setVisible(boolean)
ventana.setVisible(true);
La componente básica que requerimos cada vez que implementamos una
interfaz visual con la libraría Swing es la clase JFrame. Esta clase encapsula
una Ventana clásica de cualquier sistema operativo con entorno gráfico
(Windows, OS X, Linux etc.)
Hemos dicho que esta clase se encuentra en el paquete javax.swing y como
generalmente utilizamos varias clases de este paquete luego para importarla
utilizamos la sintaxis:
import javax.swing.*;
Podemos hacer una aplicación mínima con la clase JFrame:
import javax.swing.JFrame;
public class Formulario {
public static void main(String[] ar) {
JFrame f=new JFrame();
f.setBounds(10,10,300,200);
f.setVisible(true);
}
}
Como vemos importamos la clase JFrame del paquete javax.swing:
import javax.swing.JFrame;
y luego en la main definimos y creamos un objeto de la clase JFrame
(llamando luego a los métodos setBounds y setVisible):
public static void main(String[] ar) {
JFrame f=new JFrame();
f.setBounds(10,10,300,200);
f.setVisible(true);
}
Pero esta forma de trabajar con la clase JFrame es de poca utilidad ya
que rara vez necesitemos implementar una aplicación que muestre una ventana
vacía.
Lo más correcto es plantear una clase que herede de la clase JFrame y
extienda sus responsabilidades agregando botones, etiquetas, editores de línea
etc.
Entonces la estructura básica que emplearemos
para crear una interfaz visual será:
import javax.swing.*;
public class Formulario extends JFrame{
public Formulario() {
setLayout(null);
}
public static void main(String[] ar) {
Formulario
formulario1=new Formulario();
formulario1.setBounds(10,20,400,300);
formulario1.setVisible(true);
}
}
Importamos el paquete donde se encuentra la clase JFrame:
import javax.swing.*;
Planteamos una clase que herede de la clase JFrame:
public class Formulario extends JFrame{
En el constructor indicamos que ubicaremos los controles visuales con
coordenadas absolutas mediante la desactivación del Layout heredado (más
adelante veremos otras formas de ubicar los controles visuales dentro del
JFrame):
public Formulario() {
setLayout(null);
}
En la main creamos un objeto de la clase y llamamos a los métodos
setBounds y setVisible:
public static void
main(String[] ar) {
Formulario
formulario1=new Formulario();
formulario1.setBounds(10,20,400,300);
formulario1.setVisible(true);
}
El método setBounds ubica el JFrame (la ventana) en la columna 10, fila
20 con un ancho de 400 píxeles y un alto de 300.
Debemos llamar al método setVisible y pasarle el valor true para que se
haga visible la ventana.
No hay comentarios:
Publicar un comentario