El documento describe un laboratorio sobre la creación de interfaces gráficas básicas en Java. Explica cómo crear campos de texto, áreas de texto y botones para ingresar y mostrar datos. También muestra cómo agregar barras de desplazamiento a áreas de texto para visualizar texto de múltiples líneas. El objetivo es adquirir conceptos básicos de programación orientada a objetos en Java y reconocer sus características al crear una aplicación que permite ingresar datos personales.
Tiempos Predeterminados MOST para Estudio del Trabajo II
Java GUI
1. UNIVERSIDAD ISRAEL
CIENCIAS DE LA INGENIERÍA
CARRERA DE SISTEMAS DE INFORMACIÓN
PROGRAMACIÓN ORIENTADA A OBJETOS
SEMESTRE 2021 A
LABORATORIO S3
TEMA: Aplicaciones Java (Creación de GUI básicas)
PROFESOR: Mg. Luis Fernando Aguas Bucheli
QUITO, 2021
2. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
1. TEMA: Aplicaciones Java (Creación de GUI básicas)
2. OBJETIVOS:
• Adquirir los conceptos básicos relacionados con la POO
• Reconocer las características de la POO
3. OBJETIVOS DE DESARROLLO SOSTENIBLE:
4. INTRODUCCION:
El control JTextField permite al operador del programa ingresar una cadena de caracteres por
teclado. Para ver su fun cionamiento, vamos a crear un programa que permita ingresar el
nombre de usuario y cuando se presione un botón mostrar el valor ingresado en la barra de
títulos del JFrame.
/* Importamos las componentes Swing, así como el paquete con los interfaces
para los eventos */
import javax.swing.*;
import java.awt.event.*;
/* La clase JFrame encapsula el concepto de una ventana, para implementar una
aplicación que muestre una ventana debemos plantear una clase que herede de
la clase JFrame e implemente a a ActionListener para el evento del botón*/
public class Formulario extends JFrame implements ActionListener{
3. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
/* Definimos variables. */
private JTextField textfield1;
private JLabel label1;
private JButton boton1;
/* 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 dentro del JFrame*/
public Formulario() {
setLayout(null);
/* Etiqueta de usuario */
label1=new JLabel("Usuario:");
label1.setBounds(10,10,100,30);
add(label1);
/* Campo de texto */
textfield1=new JTextField();
textfield1.setBounds(120,10,150,20);
add(textfield1);
/* Botón de Aceptar */
boton1=new JButton("Aceptar");
boton1.setBounds(10,80,100,30);
add(boton1);
4. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
/* Inicializo escuchador del botón */
boton1.addActionListener(this);
}
/* Método que implementa la acción del botón */
public void actionPerformed(ActionEvent e) {
if (e.getSource()==boton1) {
String titulo=textfield1.getText();
setTitle(titulo);
}
}
/* En el método main 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[] args) {
Formulario formulario1=new Formulario();
formulario1.setBounds(0,0,300,150);
formulario1.setVisible(true);
}
}
El control de tipo JTextArea permite ingresar múltiples líneas, a diferencia del control de tipo
JTextField. Vamos a crear un campo de entrada de email de tipo JTextField y debajo el cuerpo
del mensaje en formato jTextArea:
5. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
import javax.swing.*;
public class Formulario extends JFrame{
/* Definimos variables. */
private JTextField textfield1;
private JTextArea textarea1;
public Formulario() {
setLayout(null);
/* Campo de email */
textfield1=new JTextField();
textfield1.setBounds(10,10,200,30);
add(textfield1);
/* Cuerpo de mensaje */
textarea1=new JTextArea();
textarea1.setBounds(10,50,400,300);
add(textarea1);
}
public static void main(String[] args) {
Formulario formulario1=new Formulario();
formulario1.setBounds(0,0,540,400);
6. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
formulario1.setVisible(true);
}
}
El problema de JTextArea es que si escribimos muchas líneas, llegará un momento en que no
podremos ver todo el texto. Para ello, debemos crear un objeto de la clase JScrollPane y añadir
en su interior el objeto de la clase JTextArea, de modo que el código modificado quedaría así:
import javax.swing.*;
public class Formulario extends JFrame{
/* Definimos variables. */
private JTextField textfield1;
private JTextArea textarea1;
private JScrollPane scrollpane1;
public Formulario() {
setLayout(null);
/* Campo de email */
textfield1=new JTextField();
textfield1.setBounds(10,10,200,30);
add(textfield1);
/* Cuerpo de mensaje en scrollPane*/
7. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
textarea1=new JTextArea();
textarea1.setLineWrap(true); //Para que salte de línea al
llegar al final del ancho del jTextArea
scrollpane1=new JScrollPane(textarea1);
scrollpane1.setBounds(10,50,400,300);
add(scrollpane1);
}
public static void main(String[] args) {
Formulario formulario1=new Formulario();
formulario1.setBounds(0,0,540,400);
formulario1.setVisible(true);
}
}
5. DESARROLLO:
• Ingresamos a Netbeans
8. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
• Creamos un nuevo proyecto:
• Colocamos como nombre
9. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Damos clic en Finish
Damos clic en Delete
10. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Luego marcamos y clic en Refactor
Teniendo
11. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Creamos una nueva clase:
Teniendo:
12. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Colocamos el siguiente código:
public class Persona
{
public String nombre;
public String apellido;
public String paralelo;
public String fecha;
public Persona(String nombre, String apellido, String paralelo, String
fecha)
{
this.nombre = nombre;
this.apellido = apellido;
this.paralelo = paralelo;
this.fecha = fecha;
}
public String getNombre()
{
return nombre;
}
public String getApellido()
{
return apellido;
}
public String getParalelo()
{
return paralelo;
}
public String getFecha()
{
return fecha;
}
}
13. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Teniendo:
Creamos un jFrame
Colocamos el siguiente nombre
14. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Teniendo
Vamos a la Palette y colocamos un jpanel
15. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
En el jpanel incluimos (4 jlabels, 4 jTextfields y 1 jTextArea), de la siguiente manera:
Colocamos también un botón
16. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Damos clic en la primera jlabel y vamos a la propiedad text y colocamos:
Damos clic a la siguiente jlabel y vamos a la propiedad text y colocamos:
17. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Damos clic a la siguiente jlabel y vamos a la propiedad text y colocamos:
Damos clic a la siguiente jlabel y vamos a la propiedad text y colocamos:
18. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Damos clic a la siguiente jbutton y vamos a la propiedad text y colocamos:
Damos doble clic en el botón
19. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Colocamos el siguiente código:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
Persona P = new
Persona(jTextField1.getText(),jTextField2.getText(),jTextField3.getText(),jTextField4.getText());
jTextArea1.append("n"+ P.getApellido()+ " "+ P.getNombre()+ " " + P.getParalelo()+ " "+
P.getFecha());
}
Teniendo:
20. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Compilamos y Ejecutamos:
Llenamos y damos clic en Insertar
21. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
6. BIBLIOGRAFIA: