Está en la página 1de 20

UNIVERSIDAD ISRAEL

CIENCIAS DE LA INGENIERÍA

CARRERA DE SISTEMAS DE INFORMACIÓN

PROGRAMACIÓN ORIENTADA A OBJETOS

SEMESTRE 2020 B

LABORATORIO S3

TEMA: Aplicaciones Java (Creación de GUI básicas)

PROFESOR: Mg. Luis Fernando Aguas Bucheli

QUITO, 2020
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. 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{

/* 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() {

Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información

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);

/* 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);

Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información

/* 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:

import javax.swing.*;

public class Formulario extends JFrame{

/* Definimos variables. */

private JTextField textfield1;

private JTextArea textarea1;

public Formulario() {

setLayout(null);

Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información

/* 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);

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.*;

Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información

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*/

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) {

Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información

Formulario formulario1=new Formulario();

formulario1.setBounds(0,0,540,400);

formulario1.setVisible(true);

4. DESARROLLO:
 Ingresamos a Netbeans

 Creamos un nuevo proyecto:

Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información

 Colocamos como nombre

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

Luego marcamos y clic en Refactor

Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información

Teniendo

Creamos una nueva clase:

Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información

Teniendo:

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;

Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información

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;
}
}

Teniendo:

Creamos un jFrame

Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información

Colocamos el siguiente nombre

Teniendo

Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información

Vamos a la Palette y colocamos un jpanel

En el jpanel incluimos (4 jlabels, 4 jTextfields y 1 jTextArea), de la siguiente manera:

Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información

Colocamos también un botón

Damos clic en la primera jlabel y vamos a la propiedad text y colocamos:

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:

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 jbutton y vamos a la propiedad text y colocamos:

Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información

Damos doble clic en el botó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());

Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información

Teniendo:

Compilamos y Ejecutamos:

Llenamos y damos clic en Insertar

Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información

5. BIBLIOGRAFIA:

Ciencias de la Ingeniería