Reuma to Logo

16
Componentes y estructura Unidad 1. Actividad 3 01/07/2013 Universidad Abierta y a Distancia de México Gustavo Adolfo Martínez Sáenz Programación Orientada a Objetos II Grupo: DS-POOII-1302-001 Matrícula AL10507819

Transcript of Reuma to Logo

Page 1: Reuma to Logo

Componentes y estructuraUnidad 1. Actividad 3

Gustavo Adolfo Martínez Sáenz

Programación Orientada a Objetos II

Grupo: DS-POOII-1302-001

Matrícula AL10507819

Page 2: Reuma to Logo

Componentes y estructura

ÍNDICE

Propósito:.....................................................................................................................................2

Instrucciones:...............................................................................................................................2

Componentes gráficos de Java.....................................................................................................3

Componentes más usados...........................................................................................................3

Eventos vistos en la unidad..........................................................................................................5

Eventos de ratón:.....................................................................................................................5

Eventos del teclado:.................................................................................................................5

Eventos de otros componentes:...............................................................................................6

Estructura.....................................................................................................................................6

Descripción de la estructura de los componentes y eventos:......................................................6

Ejemplos.......................................................................................................................................9

Estructura Evento mouseClicked, mouseEntered y mouseExited............................................9

Estructura Evento mouseMoved............................................................................................11

Estructura Evento keyPressed, keyTyped y keyReleased.......................................................12

Página 1 de 14

Page 3: Reuma to Logo

Componentes y estructura

En esta actividad deberás identificar los elementos que componen el manejo de eventos y su estructura sintáctica y así podrás afirmar los conocimientos que adquiriste durante toda la unidad.

Propósito: Realizar una descripción propia de los componentes y estructura de los eventos. Ahora es necesario que sigas las siguientes

Instrucciones:Identifica los componentes y la estructura requerida para el manejo de eventos en los temas de esta unidad.

Desarrolla una descripción con tus propias palabras de los puntos que identificaste en la indicación anterior

Página 2 de 14

Page 4: Reuma to Logo

Componentes y estructura

Componentes gráficos de JavaEn la siguiente gráfica podemos observar todos los componentes gráficos que nos provee netbeans para su uso con Java

Componentes más usadosLos componentes más usados en Java son los siguientes:

Panel. Es el componente más común de agrupamiento, siendo el contenedor del resto de los componentes del programa. Es bastante común poner en un frame una serie de paneles, cada uno de éstos enfocado a una tarea específica

Layer. Es un componente swing que proporciona una tercera dimensión para posicionar componentes, es decir, profundidad; también conocida como eje z. Cuando añadimos un componente a un panel por capas, estamos especificando su profundidad. Por conveniencia, LayeredPane define varias layers (capas) dentro del rango posible de profundidades para funciones específicas.

Botón. Es el control principal de la forma, contiene el código principal del programa y su activación por el usuario provoca que se realicen los principales procesos del problema planteado, porque es aquí donde se capturan los datos, se realizan las operaciones, etc. De este control se maneja su propiedad TEXT para etiquetarlo con la palabra OK o ACEPTAR o EXE y su evento click para activarlo. Es en dicho evento donde se construye el código del programa. Debemos recordar que no es un control necesario en los programas, ya que el código se puede asociar o pegar a cualquier escuchador-evento de cualquier forma o control del programa, pero estamos acostumbrados al botón OK

Etiqueta. Usamos este componente para desplegar textos o mensajes estáticos dentro de las formas; dichos textos pueden ser: encabezados, solicitud de información al usuario, etc. De

Página 3 de 14

Page 5: Reuma to Logo

Componentes y estructura

cierta manera hace las funciones de printf, cout, display, etc. Pero solo cuando se consideran en su parte de mensajes. También es un objeto en Java y, como tal, tiene asociados sus propios frames y objetos-eventos. Al mismo tiempo que se usa dentro del objeto frame, muchas de las propiedades que se definen para éste, el objeto label los va a heredar

Área de texto. En Java es un importante componente visual. Su función primordial es manejar todos los procesos de entrada y salida (input/output) al programa. Este componente TEXTFIELD es el equivalente a las variables en cualquier lenguaje de programación, más la instrucción de captura o despliegue correspondiente.

Página 4 de 14

Page 6: Reuma to Logo

Componentes y estructura

Eventos vistos en la unidad

Eventos de ratón:MouseClicked: Se llama cuando oprimimos y soltamos un botón en el ratón. Significa que el usuario ha hecho click con el ratón sobre el componente. Para considerar un click completo, se debe presionar el ratón y soltarlo. Lo utilizamos, por ejemplo, para abrir un link, ya sea en la web o en otros programas o aplicaciones.

MouseDragged: Ocurre cuando el botón del ratón se oprime mientras el cursor está sobre un componente y se mueve mientras los mantenemos presionado, es decir, cuando se presiona el ratón y se arrastra sobre el componente sin soltarlo. Lo usamos cuando arrastramos archivos de una carpeta a otra, por mencionar un ejemplo.

MouseEntered: Es cuando el ratón entra en la aplicación o se posiciona sobre el componente, sin presionarlo; esto quiere decir que sucede cuando el cursor entra en los límites del componente. Un ejemplo de utilización es cuando posicionamos el ratón sobre un archivo o carpeta para que nos despliegue algunas propiedades, sin necesidad de abrirlo.

MouseExited: Cuando el ratón sale de la aplicación o de los límites del componente. El ratón deja de estar posicionado sobre el componente, esto debe ocurrir sin presionarlo.

MouseMoved: Se mueve el ratón sobre el componente, sin presionarlo o se encuentra sobre dicho componente. Es similar a MouseEntered, pero en este caso no solamente se posiciona el ratón, sino que se mueve sobre la aplicación.

MousePressed: Es cuando se presiona el ratón sobre el componente, sin soltarlo. En otras palabras, es llamado cuando oprimimos un botón en el ratón.

MouseReleased: Es cuando, después de presionarlo sobre el componente, se suelta el botón del ratón.

MouseWheelmoved: Es cuando movemos la rueda del ratón sobre el componente. Por ejemplo, para navegar sobre la aplicación. Es una subclase de MouseEvent y contiene los métodos que permiten al manejador de eventos obtener la información necesaria acerca de la rotación de la rueda giratoria.

Eventos del teclado:KeyPressed: Se detecta cuando se presiona una tecla sobre el componente

KeyReleased: Se detecta cuando se ha suelta una tecla, después de haberla presionado, sobre el componente

KeyTyped: Se detecta cuando se presiona y suelta una tecla sobre el componente. Para leer el teclado es necesario que registremos un objeto encargado de “escuchar” si una tecla es presionada; este objeto es conocido como “Listener” u “oyente” y tendrá métodos que serán llamados cuando se presione una tecla.

Página 5 de 14

Page 7: Reuma to Logo

Componentes y estructura

Eventos de otros componentes:Component listener: Detecta los cambios del tamaño, la posición o la visibilidad de un componente

Focus listener: Detecta si el componente mantiene o pierde el enfoque. El enfoque se refiere a en cuál de los componentes se encuentra el puntero del ratón

Hierarchy listener: Este escuchador detecta los cambios en los niveles jerárquicos del componente; es decir que cuando se tiene varias ventanas que heredan características de otras, el hierarchy listener detectaría estos cambios, para detectar el movimiento de los componentes. (cambio de estado)

Estructura La estructura a usar para cada componente es muy parecida, aunque en la mayoría de casos cambia el escuchador, que es lo que más nos interesa a la hora de hacer reaccionar nuestro programa con alguna interacción con nuestros dispositivos de entrada.

Descripción de la estructura de los componentes y eventos:JButton. Es una clase que nos sirve para implementar el soporte para poder mostrar un botón. Para implementarlo se define JButton y se agrega el nombre, como en el ejemplo de código más abajo JButton boton = new Jbutton (“Soy un boton”);

JFrame. Es el objeto principal de una aplicación visual, tiene propiedades y se le pueden asociar eventos. Para todo programa visual en el lenguaje Java debemos crear una clase de este tipo y de ahí derivamos el objeto ventana, en donde tendremos los demás componentes de la aplicación

boton.setVisible. nos sirve para determinar si el botón está visible o no, como en el ejemplo de abajo que, mediante una expresión booleana determinamos que el botón es visible de la siguiente manera boton.setVisible(true);

boton.setSize. sirve para configurar el tamaño del botón. En el ejemplo: boton.setSize(50, 50);

boton.setLocation. sirve para poner las coordenadas de ubicación del botón en un JFrame. En el ejemplo: boton.setLocation (0, 0);

frame.add. añadir una ventana.

@Override. Sustituye un método previo, es decir, evita que el método de la clase superior haga algo diferente para lo que está diseñado, le dice al compilador que no haga caso del método de la clase padre sino de éste. De esta manera evitamos errores. En el ejemplo, utilicé

Página 6 de 14

Page 8: Reuma to Logo

Componentes y estructura

tres @Override para tres métodos diferentes: mouseClicked, mouseEntered y mouseExited. Si suprimimos @Override, debe marcar error

Public. Se usa para definir el elemento como público, es decir, que todos pueden acceder al elemento, usarlo, asignarlo e invocarlo si es un método, cuando es una clase, todos pueden crear instancias.

Void. Se utiliza para indicarle a una función que no devuelva parámetros. Cuando queremos que un método devuelva un valor, se declara el tipo que devuelve, si no queremos que lo devuelva se declara como tipo de valor devuelto, usando la palabra reservada void.

System. Representa al sistema o computadora

Out. Da salida a una impresión en pantalla. Utilizamos System out para escribir en pantalla.

Println. Se utiliza para imprimir en pantalla, precedido del objeto System.out. también puede usarse solamente print, la diferencia es que println imprime un salto de línea al final.

addWindowListener. Sirve para añadir un escuchador de los eventos que se produzcan en la ventana, después de él vamos a añadir un adaptador WindowAdapter

WindowAdapter. Es un adaptador de ventana en el que recibiremos eventos como closing, actived, etc.

windowClosing. Sirve para desactivar una ventana. Es diferente a windowClosed este último se invoca cuando una venta se ha cerrado y no cuando está en el proceso de cierre.

WindowEvent. Nos indica que una ventana ha cambiado su estado y es generado cuando ésta se abre, se cierra, activa, desactiva, minimiza, etc. o también cuando el foco sale de la ventana.

Public class. Nos indica que una clase es pública, es decir, que es accesible desde cualquier otra clase.

Static. Comparte el valor de una variable entre objetos de una misma clase. En los ejemplos uso static, después de haber declarado la clase, en el main, para que los valores contenidos en él compartan el valor de las variables. Es muy útil en el caso de los contadores para que el valor del contador cambie.

MouseMotionListener. Es un escuchador que nos indica cuando el usuario utiliza el ratón para mover el cursor en pantalla.

mouseDragged. Ocurre cuando el ratón se ha presionado y arrastrado sin soltarlo.

mouseEvent. Es un evento que nos indica que una acción del ratón ocurrió.

mouseMoved. Indica cuando se mueve el ratón sobre un componente, sin presionarlo.

keyTyped. Se detecta cuando se presiona y se suelta una tecla

KeyListener. Es un escuchador que detecta los acontecimientos del teclado.

Página 7 de 14

Page 9: Reuma to Logo

Componentes y estructura

KeyEvent. Es un evento que nos indica que una acción del teclado ocurrió.

keyPressed. Maneja eventos de pulsación de cualquier tecla.

keyReleased. Detecta cuando se ha soltado una tecla, luego de haberla presionado

Página 8 de 14

Page 10: Reuma to Logo

Componentes y estructura

Ejemplos

Estructura Evento mouseClicked, mouseEntered y mouseExited

Página 9 de 14

Page 11: Reuma to Logo

Componentes y estructura

En el ejemplo anterior podemos ver que desde la línea 26 hasta la 36, agregamos los escuchadores que estarán en nuestro componente botón, entonces, en este ejemplo, cuando el ratón entre en el componente mouse, se generará la acción mouseEntered y cuando nuestro ratón sale del componente, se generará un mouseExited; por último, nuestro mouseClicked, que se generará al hacer click a nuestro botón. Cada acción la podemos extender a lo que necesitemos hacer en nuestro programa.

En la línea 40 podemos observar que agregamos un escuchador a nuestro frame, que quiere decir que cuando cerremos nuestra ventana se saldrá completamente de nuestro programa.

Página 10 de 14

Page 12: Reuma to Logo

Componentes y estructura

Estructura Evento mouseMoved

En este ejemplo podemos ver cómo se genera una acción al mover nuestro ratón dentro de nuestro componente JFrame, ya que agregamos un escuchador a este mismo, así que después solo indicamos las acciones; en este caso, hacemos un mouseMoved, donde nos entrega un mouseEvent en la variable e y es ahí donde contiene los datos que nos interesan, en este caso sacamos la posición x e y de la posición del ratón.

Página 11 de 14

Page 13: Reuma to Logo

Componentes y estructura

Estructura Evento keyPressed, keyTyped y keyReleased

Página 12 de 14

Page 14: Reuma to Logo

Componentes y estructura

En este ejemplo podemos ver que cada tecla pulsada genera dos acciones, ya que así lo decidimos, al presionar cualquier tecla, menos las especiales, nos genera un imprimir en consola la tecla presionada.

*todos los ejemplos fueron realizados en netbeans y compilados satisfactoriamente, luego fueron capturados y recortados para su mejor visualización.

Página 13 de 14