Está en la página 1de 10

COMPONENTES SWING

1. COMPONENTES SWING (Parte1)

Comprenden todos los componentes utilizados para una interfaz gráfica de


usuario desde botones, barras de menú, diálogos y ventanas hasta cajas de
texto, barras de progreso, paneles con pestañas y listas. Este componente se
encuentra ubicado en el paquete javax.swing

Los componentes Swing se encuentran disponibles a partir de la versión 2.0 de


Java (Java II), en la versión 1.0 solo existían los componentes AWT para
construir interfaces gráficas.

Los componentes Swing a diferencia de los componentes AWT no dependen


en absoluto del Sistema Operativo, los controles son dibujados por el mismo
Java, esta ventaja nos da un mayor control sobre su apariencia,
independientemente de lo que nos permita el sistema operativo.

a. JFrame

Un objeto de la clase JFrame representa a una ventana con bordes,


titulo y botones que permiten cerrar y maximizar la ventana. (En otros
lenguajes es conocido como Formulario)

Creación de un JFrame:

 Click derecho sobre el paquete de trabajo


 Escoger: New / JFrame Form
 Ingrese el nombre de JFrame, por ejemplo: JFrmVentas

Nota: Aparecerá dos fichas: JFrame1 /JFrame1 [Form]


El primero contendrá el código fuente del formulario, controles y
eventos. El segundo contiene el diseño del formulario.

b. Layout (Estrategia de Diseño)

Los JFrame nos ofrecen la posibilidad de trabajar en base a un


determinado tipo Layout para establecer una mejor ubicación y
distribución de los distintos controles localizados sobre el formulario o
panel.

Un JFrame sin Layout permite la inserción de controles de un modo muy


parecido a como lo permiten otros lenguajes de programación visual.

c. Tipos de Layouts

 BorderLayout: Este layout tiene cinco zonas predeterminadas:


son: Norte (NORTH), Sur (SOUTH), Este (EAST), Oeste (WEST)
y Centro (CENTER). Este tipo de layouts son utilizados
mayormente para los JPanel (Paneles que dividen el formulario
en áreas o sectores. BorderLayout permite indicar la ubicación de
cada uno de estos paneles)
 FlowLayout: Los objetos se van colocando en filas en el mismo
orden en que se añadieron al contenedor. Cuando se llena una
fila se pasa a la siguiente. (Los JPanel tienen este tipo de Layout
por Defecto)
 GridLayout: Como su propio nombre indica crea un Grid (malla)
y va añadiendo los componentes a las cuadrículas de la malla de
izquierda a derecha y de arriba abajo. Todas las cuadrículas
serán del mismo tamaño y crecerán o se harán más pequeñas
hasta ocupar toda el área del contenedor.
 GridBagLayout: Es un tipo de layout Grid mejorado, con la
ventaja de permitirnos dividir o unir celdas del Grid, y ubicar
controles en celdas específicas del Grid.
 NullLayout: Representa un tipo de diseño sin ningún tipo de
Layout.

d. Componentes Swing

 JLabel: No es más que una etiqueta de texto que podemos


colocar al lado de cualquier componente para darle una
indicación al usuario de cuál es la función de dicho componente.
 JTextField: Está pensado para obtener texto del usuario. El
usuario escribirá en él y cuando pulse ENTER podremos disponer
del texto que escribió. Únicamente se puede recoger una línea de
texto. Tiene métodos para recoger el texto del usuario, poner un
texto en él, recoger solo el texto seleccionado, seleccionar una
parte del texto, insertar texto, cortar texto, pegar texto, etc.
 JButton: Este control es un botón de comando el cual responde
con una acción ante un evento click. En Swing este evento es
conocido como ActionPerformanced.
 JMenuBar: Es un componente que permite generar los típicos
menús similares a los que contienen diversas aplicaciones de
escritorio. En estos menús se pueden añadir CheckBoxes y
RadioButtons.

e. Captura y Lectura de datos desde un JTextField

Todos los datos que se capturan desde un JTextField son datos de tipo
String y se capturan con el Método getText().

Ejemplo:

String Apellidos=Jtxtape.getText();

Para escribir texto dentro de un JTextField, se utilizará el método


setText(“dato”).

Ejemplo:
Jtxtnombre.setText(“Juanita López”);

f. Invocar y Cerrar formularios

Invocar a un formulario:
Se crea una instancia del JFrame y luego se invoca el objeto
instanciado con el método show().
Ejemplo:
JFrmVentas frm=new JFrmVentas();
frm.show();

Cerrar un Formulario:

System.exit(0); // Cierra toda la aplicación


dispose(); // Cierra el formulario actual

2. COMPONENTES SWING (Parte2)

g. JMenuBar
Un objeto de la clase JMenuBar permite crear una barra de opciones
principales para la interfaz gráfica, similar a una aplicación visual de
escritorio.

Creación de un JMenuBar:
 En la Paleta (Palette), haga Click en JMenuBar.
 Haga Click sobre el JFrame

Agregar ítems al JMenuBar


 Click derecho en el JMenuBar agregado al JFrame.
 Elija Add / JMenuItem
 En el panel Properties, elija text y escriba el texto para el item del
JMenuBar.

h. JOptionPane
Un objeto de la clase JOptionPane permite crear cajas de diálogo para
ingreso de datos, cajas de diálogo de mensajes, caja de diálogo de
confirmación, etc.

Creación de un cuadro de diálogo para ingresar datos

c=JOptionPane.showInputDialog(null,"Ingrese un número","",1);

i. JDesktopPane
Un objeto de la clase JDesktopPane es un componente que permite
crear aplicaciones MDI similares a aplicaciones tradicionales creados
con oros lenguajes de programación visual. Un formulario MDI contiene
un JMenuBar por defecto.

Creación de un formulario MDI


 Click derecho en el directorio particular
 Elija New / All Templates
 Expanda la carpeta Java GUI Forms
 Expanda la carpeta Sample Forms y elija MDI Application
 Pulse en el botón Siguiente, escriba el nombre del MDI.
 Pulse el botón Finish.
Creación de formularios

1. Pulse botón derecho en el directorio local


2. Elija la opción New
3. Haga Clic en JFrame Form
4. Escriba el nombre del formulario (FrmMatematica) y pulse el botón Finish

El formulario se visualiza al centro de la pantalla, los paneles de componentes swing,


el inspector de objetos y propiedades en el lado derecho de la pantalla.

Ejemplo de Aplicación No. 1

Como ejemplo desarrollaremos un formulario que permita realizar las cuatro


operaciones aritméticas básicas. Para ello agregue los siguientes controles al
formulario:
 3 JLabel, para mostrar mensajes descriptivos.(Etiqueta)
 3 JTextField, Para ingresar datos y mostrar resultados. (Campo de Texto)
 4 JButton. Para ejecutar las operaciones. (Botón)
El formulario debe mostrar el siguiente aspecto:

Propiedades de los componentes


Las propiedades son las características que se asignan a los componentes con la
finalidad de dar una buena presentación al diseño del formulario. Para asignar
propiedades a los componentes haga lo siguiente:

1. Seleccione el componente.
2. En el panel de propiedades, pulse sobre la propiedad que desea asignar
3. Defina el valor correspondiente para la propiedad.

Define las siguientes propiedades de los componentes

Componente Propiedad Valor


JLabel1 text Número1
JLabel2 text Número2
JLabel3 text Resultado
JTextField1 text (Borrar)
JTextField2 text (Borrar)
JTextField3 text (Borrar)
JButton1 text Suma
JButton2 text Resta
JButton3 text Multiplica
JButton4 text Divide
JFrame title Matemática Básica
Redimensionar el tamaño del formulario

En la sección Code del panel de propiedades, elija la opción Generate Resize Code
para mostrar el formulario con el tamaño que definió en el diseño.

Renombrar Componentes
El nombre de los componentes se define para efectos de utilizarlos en el código de la
aplicación. Para renombrar componentes haga lo siguiente:

1. Pulse botón derecho en el componente


2. Elija la opción Rename
3. Escriba el nombre del componente
Defina los siguientes nombres de los componentes. Estos nombres serán utilizados en
el código de la aplicación.

Componente Nombre
JTextField1 Txt1
JTextField2 Txt2
JTextField3 Txt3
JButton1 BtnSuma
JButton2 BtnResta
JButton3 BtnMultiplica
JButton4 BtnDivide

Cuando haya terminado de definir los nombres y los textos de los componentes, el
formulario debe tener el siguiente aspecto.

Cómo obtener datos de un JTextField


Para obtener datos de un componente JTextField y asignarle a una variable, se
emplea el método getText().

Cómo establecer datos en un JTextField


Para establecer datos en un componente JTextField, se emplea el método setText().

Código de la aplicación.
Para codificar la aplicación, haga doble clic en los botones y escriba el código Java de
la aplicación.
Pulse F6 para ejecutar la aplicación, luego ingrese los datos y pulse en los botones
para realizar los cálculos correspondientes.
Ejemplo de Aplicación No. 2

Como ejemplo número 2 desarrollaremos un formulario que permita introducir datos de


nuestros contactos en componentes List. Para ello, haga lo siguiente:

1. Agregue los siguientes componentes en un nuevo JFrame Form:


 2 JLabel, para mostrar mensajes descriptivos.
 2 JTextField, Para ingresar datos de los contactos.
 2 JButton. Para agregar los datos en componentes List.
 2 List de la categoría de controles AWT para cargar los datos en las listas.

2. Defina las siguientes propiedades de los componentes

Componente Propiedad Valor


JLabel1 text Nombre
JLabel2 text Email
JTextField1 text (Borrar)
JTextField2 text (Borrar)
JButton1 text Agregar
JButton2 text Borrar lista
JButton1 text Suma
JFrame title Contactos

3. Defina los siguientes nombres de los componentes. Estos nombres serán


utilizados en el código de la aplicación.

Componente Nombre
JTextField1 Txt1
JTextField2 Txt2
JButton1 BtnAgregar
JButton2 BtnBorrar

4. Redimensionar el tamaño del formulario para visualizarlo con las dimensiones


establecidas en el diseño del mismo.
5. Cuando haya terminado, el formulario tendrá el siguiente aspecto.

6. Codifique la aplicación. Haga doble clic en los botones y escriba el código


Java de la aplicación.

Pulse F6 para ejecutar la aplicación, luego ingrese los datos y pulse en el botón
Agregar para agregar los datos en las Listas. Pulse en el botón Borrar Listas, para
quitar los elementos de las listas.