Hasta ahora hemos resuelto todos los algoritmos haciendo las
salidas a través de una consola en modo texto. La realidad que es muy común la
necesidad de hacer la entrada y salida de datos mediante una interfaz más
amigables con el usuario.
En Java existen varias librerías de clase para implementar
interfaces visuales. Utilizaremos las componentes Swing.
Componentes Java Swing
Como se mencionó en la introducción a Java Swing, este
paquete nos brinda ciertas facilidades para la construcción de interfaces
graficas de usuario........ en esta entrada vamos a conocer a nivel general
algunos de los principales componentes que podemos usar en nuestras GUI's...
Hasta el momento hemos visto lo que es Swing, las
diferencias entre JFrame y JDialog así como un pequeño ejemplo sobre la
creación de Ventanas incluyendo también 2 componentes tales como los botones y
las etiquetas de texto.
En esta entrada enunciaremos algunos de los principales
componentes, tal vez no podamos trabajarlos todos pero es bueno saber que
existen, conociendo nuevas opciones para vincular en nuestros desarrollos...
¿Qué son Los Componentes Gráficos?
Como se ha mencionado, los componentes gráficos son estos
elementos que permiten brindar una interacción con el usuario del sistema.....
Cada componente corresponde a una clase en Java, por esta razón cuando
desarrollamos y queremos vincular uno de estos elementos simplemente
instan-ciamos la clase que necesitamos, es decir, si queremos un Área de texto
debemos crear un objeto de la clase JTextArea.
Problema 1:
Confeccionar el programa "Hola Mundo" utilizando
una interfaz gráfica de usuario.
import
javax.swing.*;
public
class Formulario extends JFrame{
private JLabel label1;
public Formulario() {
setLayout(null);
label1=new JLabel("Hola
Mundo.");
label1.setBounds(10,20,200,30);
add(label1);
}
public static void main(String[] ar) {
Formulario formulario1=new
Formulario();
formulario1.setBounds(10,10,400,300);
formulario1.setVisible(true);
}
}
Hasta ahora habíamos utilizado la clase Scanner para hacer
la entrada de datos por teclado. Dicha clase debemos importarla en nuestro
programa con la sintaxis:
import java.util.Scanner;
Otra sintaxis para importarla es:
import java.util.*;
Si disponemos un * indicamos que importe todas las clases
del paquete java.util.
Ahora bien las componentes Swing hay que importarlas del
paquete javax.swing. Cuando debemos importar varias componentes de un paquete
es más conveniente utilizar el asterisco que indicar cada clase a importar:
import
javax.swing.JFrame;
import
javax.swing.JLabel;
En lugar de las dos líneas anteriores es mejor utilizar la
sintaxis:
import javax.swing.*;
La clase JFrame encapsula el concepto de una ventana. Luego
para implementar una aplicación que muestre una ventana debemos plantear una
clase que herede de la clase JFrame:
public
class Formulario extends JFrame{
Con la sintaxis anterior estamos indicando que que la clase
Formulario hereda todos los métodos y propiedades de la clase JFrame.
Para mostrar un texto dentro de una ventana necesitamos
requerir la colaboración de la clase JLabel (que tiene por objetivo mostrar un
texto dentro de un JFrame)
Definimos luego como atributo de la clase un objeto de la
clase JLabel:
private JLabel
label1;
En el constructor de la clase llamamos al método heredado de
la clase JFrame llamado setLayout y le pasamos como parámetro un valor null,
con esto estamos informándole a la clase JFrame que utilizaremos
posicionamiento absoluto para los controles visuales dentros del JFrame.
public
Formulario() {
setLayout(null);
Luego tenemos que crear el objeto de la clase JLabel y
pasarle como parámetro al constructor el texto a mostrar:
label1=new
JLabel("Hola Mundo.");
Ubicamos al objeto de la clase JLabel llamando al método
setBounds, este requiere como parámetros la columna, fila, ancho y alto del
JLabel. Finalmente llamamos al método add (metodo heredado de la clase JFrame)
que tiene como objetivo añadir el control JLabel al control JFrame.
label1=new
JLabel("Hola Mundo.");
label1.setBounds(10,20,200,30);
add(label1);
}
Finalmente debemos codificar la main donde creamos un objeto
de la clase Formulario, llamamos al método setBounds para ubicar y dar tamaño
al control y mediante el método setVisible hacemos visible el JFrame:
public static void main(String[] ar) {
Formulario formulario1=new
Formulario();
formulario1.setBounds(10,10,400,300);
formulario1.setVisible(true);
}
Cuando ejecutamos nuestro proyecto tenemos como resultado
una ventana similar a esta:
No hay comentarios:
Publicar un comentario