Está en la página 1de 8

INSTITUTO TECNOLÓGICO DE SAN

ANDRÉS TUXTLA

INGENIERÍA EN SISTEMAS COMPUTACIONALES

MATERIA:
Tópicos Avanzados de Programación

DOCENTE:
MTI. ANGELINA MÁRQUEZ JIMÉNEZ.

GRUPO:

404- A

REPORTE DE PRÁCTICA No. 2

INTEGRANTES:

ANGEL DE JESUS CARMONA COBAXIN


ALEJANDRA DEL CARMEN VICHI ORTIZ

PERIODO:

ENERO – JULIO 2021


INSTITUTO TECNOLÓGICO SUPERIOR DE SAN
ANDRÉS TUXTLA

INGENIERÍA EN SISTEMAS COMPUTACIONALES

REPORTE DE PRÁCTICA TOPICOS AVANZADOS DE PROGRAMACIÓN

PRÁCTICA NO. 2

NOMBRE DE LA PRÁCTICA:

GUI con implementación de lis tener de teclado

OBJETIVO:
El estudiante desarrollara una GUI que incluya la implementación de listener y
adaptador de mouse, para aprender a utilizar algunos de sus eventos.

FUNDAMENTO TEÓRICO:

INTERFAZ GRÁFICA GUI

Llamamos Interfaz Gráfica GUI (Graphical User Interface) al conjunto de


componentes gráficos que posibilitan la interacción entre el usuario y la
aplicación. Es decir, ventas, botones, combos, listas, cajas de diálogo, campos de
texto, etc.

Primero tenemos que diseñar la aplicación, programarla y por último los eventos
que se generan a medida que el usuario interactúa con la Interfaz.

Los componentes son objetos de las clases que heredan de la clase base
componente como Button, List, TextField, TextArea, Label, etc.

En una GUI los componentes son contenidos en Contenedores o containers. Un


Containes es un objeto cuya clase hereda de Container(clase que a su vez es
subclase de Component) y tiene la responsabilidad de contener Componentes.
INSTITUTO TECNOLÓGICO SUPERIOR DE SAN
ANDRÉS TUXTLA

INGENIERÍA EN SISTEMAS COMPUTACIONALES

REPORTE DE PRÁCTICA TOPICOS AVANZADOS DE PROGRAMACIÓN

Generalmente una GUI se monta sobre un Frame. Esté será el Container principal
que contendrá a los componentes de la Interfaz Gráfica, un Container podría
contener a otros containers.

Distribución de componentes (layouts)

Los containers contienen componentes y estos son acomodados dentro del


espacio visual del container respetanto unaa cierta distribución que llamaremos
layout.

AWT Y SWING
Java provee dos API's con las que podemos trabajar para desarrollar GUIs, la
más básica es AWT (Abstrct Window Toolkit). Las más desarrolladas se hacen
con Swing, las cuales son más identificables ya que todas comienzan con "J", por
ejemplo: JButton, JTextField, JTextArea, JPanel y JFrame son clases de Swing.

Todo el manejo de eventos y layouts es exactamente el mismo para AWT y


Swing.

DISTRIBUCIONES RELATIVAS
Los layouts determinan el criterio con el que se van a distribuir los componentes
dentro del container

 FlowLayout: Distribuye los componentes uno al lado del otro en la parte


superior del container. Por defecto provee una alineación centrada, pero
también puede alinear a la izquierda o derecha.
 BorderLayout: Divide el espacio del container en 5 regiones: NORTH,
SOUTH, EAST, WEST y CENTER, admite un único componente por región
INSTITUTO TECNOLÓGICO SUPERIOR DE SAN
ANDRÉS TUXTLA

INGENIERÍA EN SISTEMAS COMPUTACIONALES

REPORTE DE PRÁCTICA TOPICOS AVANZADOS DE PROGRAMACIÓN

 GridLayout: Divide el espacio del container en una grilla de n filas por m


columnas, en donde las celdas son de igual tamaño
 GridBagLayout: Divide el espacio del container en una grilla donde cada
componente puede ocupar varias filas y columnas. Además, permite
distribuir el espacio interno de cada celda.

MATERIAL Y EQUIPO EMPLEADO:

Equipo: Lenovo Ideapad S340

Procesador: AMD Ryzen 5 - 3500U

Almacenamiento: 8 GB RAM y 256 GB SSD

Arquitectura: 64 bits

DESARROLLO:
Import java.awt. *;
import javax.swing.*;
import java.awt.event.*;
import java.awt.Color.*;

public class EventosRaton extends JFrame { //nombre de la clase


private int xPos,yPos;
public EventosRaton () {
super ("clics y botones del raton");
getContentPane().addMouseListener(new ManejadorClicsRaton());
setSize(650,400);
setBounds(450,300,650,400);
INSTITUTO TECNOLÓGICO SUPERIOR DE SAN
ANDRÉS TUXTLA

INGENIERÍA EN SISTEMAS COMPUTACIONALES

REPORTE DE PRÁCTICA TOPICOS AVANZADOS DE PROGRAMACIÓN

setVisible(true);
setLocationRelativeTo(null);
this.getContentPane().setBackground(Color.yellow);
}
public void paint(Graphics g){
super.paint(g);
g.drawString("Se hizo clic en:["+ xPos +","+yPos+"]",xPos,yPos);
}
public static void main (String [] args) { //método principal
JFrame.setDefaultLookAndFeelDecorated(true);
EventosRaton aplicacion = new EventosRaton();
}

private class ManejadorClicsRaton extends MouseAdapter {


public void mouseClicked (MouseEvent evento) {
xPos = evento.getX();
yPos = evento.getY();
String titulo="se hizo clic \n"+""+evento.getClickCount()+"\n" +"\n veces";
if(evento.isMetaDown())
titulo+="\n con el boton derecho del raton";
else if(evento.isAltDown())
titulo+="\n con el boton del raton";
else
titulo+="\n con el boton izquierdo del raton";
setTitle(titulo);
repaint ();
}
}
}
INSTITUTO TECNOLÓGICO SUPERIOR DE SAN
ANDRÉS TUXTLA

INGENIERÍA EN SISTEMAS COMPUTACIONALES

REPORTE DE PRÁCTICA TOPICOS AVANZADOS DE PROGRAMACIÓN

RESULTADOS:

Compilamos el código y como


al hacerlo no presenta errores,
pasamos a ejecutarlo.

Es la imagen de la interfaz
gráfica del programa, como en
el código lo dice el fondo es de
color amarillo.

Se muestran los clicks que


hemos dado en el mouse, y el
código que lo controla lo ya
detectado.
INSTITUTO TECNOLÓGICO SUPERIOR DE SAN
ANDRÉS TUXTLA

INGENIERÍA EN SISTEMAS COMPUTACIONALES

REPORTE DE PRÁCTICA TOPICOS AVANZADOS DE PROGRAMACIÓN

CONCLUSIONES:

En conclusión, las interfaces gráficas de Java también son muy conocidas como
GUI. GUI, es un término que proviene de Graphical User Interface. Un ejemplo de
GUI, podría ser una aplicación de escritorio para leer de PDFs. Primero tenemos
que diseñar la aplicación, programarla y por último los eventos que se generan a
medida que el usuario interactúa con la Interfaz.

Los componentes son objetos de las clases que heredan de la clase base
componente como Button, List, TextField, TextArea, Label, etc.

En una GUI los componentes son contenidos en Contenedores o containers. Un


Containes es un objeto cuya clase hereda de Container(clase que a su vez es
subclase de Component) y tiene la responsabilidad de contener Componentes.
INSTITUTO TECNOLÓGICO SUPERIOR DE SAN
ANDRÉS TUXTLA

INGENIERÍA EN SISTEMAS COMPUTACIONALES

REPORTE DE PRÁCTICA TOPICOS AVANZADOS DE PROGRAMACIÓN

REFERENCIAS:

[1] Aguilar, L. J. (2010). Programación en c/c++ java y UML. México: McGraw Hill.

[2] Ceballos, F. J. (2010). JAVA 2: Curso de programación. Madrid: RA-MA.

[3] Dean, J. (2009). Introducción a la programación con Java. México: McGraw


Hill.

[4] Deitel, D. y. (2010). Java Cómo Programar. México: Prentice Hall

También podría gustarte