Componentes y estructura de los eventos
benrobles999Tarea24 de Octubre de 2020
2.446 Palabras (10 Páginas)404 Visitas
[pic 1]
Ing. Desarrollo de Software
Programación orientada a objetos II
DS-DPO2-1901-B1-001
U1A2. Componentes y estructura de los eventos
Ben Robles
ES162001974
Docente: Amadeo Cóporo Quintana
Ciudad de México, enero 2019
Contenido
Introducción 3
Desarrollo 3
1. Componentes y estructuras de eventos adicionales a los presentados en los contenidos de la Unidad 1. 3
2. Características, componentes y funcionalidades de las librerías en JAVA. 5
3. Importancia de los componentes y estructura de los eventos. Ejemplos de aplicación. 10
Conclusión 10
Referencias 11
Introducción
Dada la importancia de los componentes gráficos y su relación con los eventos en la programación orientada a objetos se presentan en una forma más detallada y extensiva las librerías en Java que proporcionan dichos componentes, siendo estas: AWT (Abstract Windows Toolkit) y Swing, siendo esta última una extensión de AWT; y como se verá mas adelante ambas no son excluyentes, sino que se complementan para incrementar la funcionalidad de la interfaz gráfica de usuario (GUI) y gestionar adecuadamente los eventos que se generan en la interacción del usuario con los programas y aplicaciones escritos en Java.
Desarrollo
1. Componentes y estructuras de eventos adicionales a los presentados en los contenidos de la Unidad 1.
Componente: Window
Evento generado | Acción |
windowActivated | Se activó la ventana. |
windowClosed | Se cerró la ventana. |
windowClosing | Cuando el usuario intenta cerrar la ventana desde el menú. |
windowDeactivated | La ventana se ha desactivado. |
windowDeiconified | Se ha mostrado la ventana que estaba minimizada |
windowIconified | Se ha minimizado la ventana a un icono. |
windowOpened | La ventana ha sido abierta por primera vez. |
windowStateChanged | Cuando se cambia el estado de la ventana |
windowGainedFocus | La ventana está enfocada, significa que la ventana o sus subcomponentes pueden recibir eventos del teclado. |
windowLostFocus | La ventana ha dejado de estar enfocada, ya no puede recibir ningún evento del teclado |
Fuente: https://docs.oracle.com/javase/7/docs/api/java/awt/event/WindowListener.html
Componente: Scroll bar
Evento generado | Acción |
AdjustmentEvent.TRACK | Cuando el usuario arrastra el botón móvil de la barra de desplazamiento. |
AdjustmentEvent.UNIT_INCREMENT | Cuando el usuario hace clic en la flecha izquierda de una barra de desplazamiento horizontal, o en la flecha superior de una barra de desplazamiento vertical. |
AdjustmentEvent.UNIT_DECREMENT | Cuando el usuario hace clic en la flecha derecha de una barra de desplazamiento horizontal, o en la flecha inferior de una barra de desplazamiento vertical. |
AdjustmentEvent.BLOCK_INCREMENT | Cuando el usuario hace clic en la pista, a la izquierda del botón móvil en una barra de desplazamiento horizontal, o por encima del botón móvil en una barra de desplazamiento vertical. |
AdjustmentEvent.BLOCK_DECREMENT | Cuando el usuario hace clic en la pista, a la derecha del botón móvil en una barra de desplazamiento horizontal, o por debajo del botón móvil en una barra de desplazamiento vertical. |
Fuente: https://docs.oracle.com/javase/7/docs/api/java/awt/Scrollbar.html
Hay componentes que pueden generar más de un tipo de evento, como los de tipo Window; también, hay tipos de eventos generados por dos o más componentes, como ActionEvent, el cual es generado por dos componentes: JButgton y JTextField.
2. Características, componentes y funcionalidades de las librerías en JAVA.
Para las aplicaciones de escritorio, Java incluye como parte del J2SE dos conjuntos de librerías que proporcionan una amplia variedad de componentes gráficos, así como el soporte necesario para gestionar la interacción con el usuario. Estos conjuntos de librerías son: AWT (Abstract Windows Toolkit) y Swing, siendo esta última una extensión de AWT, sus clases heredan alguna de las clases de éste.
La biblioteca Swing añade bastante funcionalidad a la AWT, aunque sin sustituir a la AWT por completo. Actualmente se usan ambas bibliotecas: la AWT y la Swing. Los paquetes primarios AWT son java.awt y java.awt.event. El paquete primario Swing es javax.swing. La “x” en javax significa “extensión” porque los paquetes javax (javax.swing es uno de varios paquetes javax) se consideran como las extensiones más importantes de la plataforma Java. (Dean & Dean, 2009, pág. 608)
En la actualidad, casi toda la programación gráfica se hace en swing; las clases que utilicen componentes gráficos y procesen eventos, tendrán las sentencias import de swing:
import java.awt.*; // no siempre necesario
import java.awt.event.*;
import javax.swing.*;
En la utilización de los componentes es importante saber la jerarquía de los componentes para hacer un uso adecuado de ellos (figura 20.1)
[pic 2]
(Joyanes & Zahonero, 2011)
Componentes | AWT java.awt | Swing javax.swing | Funcionalidades |
Buttons | |||
Check Boxes | Checkbox | JCheckBox | Una casilla de verificación es un componente que está seleccionado o deseleccionado. Cuando se selecciona, una marca de verificación (o una x) aparece en el cuadro. Una casilla de verificación tiene una etiqueta asociada con él que normalmente aparece a la derecha de la casilla de verificación. |
Radio Buttons | Checkbox y CheckboxGroup | JRadioButton y ButtonGroup. | Un botón de opción es un componente seleccionado o deseleccionado, similar a una casilla de verificación. La diferencia con los botones de radio es que están asociados con un grupo, y solo se puede seleccionar un botón de opción en el grupo. Se requieren dos clases para crear un grupo de botones de opción: uno para el botón de opción Componente, y uno para el grupo. |
Color Choosers | JColorChooser | Permite a los usuarios elegir entre una paleta de colores. Un selector de color es un componente que puede colocar en cualquier lugar dentro de la GUI de su programa. La API de JColorChooser también hace que sea fácil abrir un cuadro de diálogo que contiene un selector de color. | |
Combo Boxes | Choice | JComboBox | Permite al usuario elegir una de varias opciones, puede tener dos formas muy diferentes. La forma predeterminada es el cuadro combinado no editable, que presenta un botón y una lista desplegable de valores. La segunda forma, llamada cuadro combinado editable, presenta un campo de texto con un pequeño botón que se apoya en él. El usuario puede escribir un valor en el campo de texto o hacer clic en el botón para mostrar una lista desplegable. |
Editor Panes | JEditorPane. | Admite texto con cierto formato. Admite texto plano, HTML y RTF por defecto, aunque podríamos ampliarlo. Además, permite mezclar fuentes, colores e imágenes. | |
Text Panes | JTextPane | Permite que vayamos añadiendo texto a cada uno con sus propios atributos de texto -fuentes, colores, etc. | |
File Choosers | JFileChooser | Proporciona una GUI para navegar por el sistema de archivos y luego elegir un archivo o directorio de una lista o ingresar el nombre de un archivo o directorio. | |
Formatted Text Fields | JFormattedTextField | Los campos de texto con formato proporcionan una forma para que se especifique el conjunto válido de caracteres que se pueden escribir en un campo de texto. | |
Frames (Main Windows) | JFrame | Un marco es una ventana de nivel superior con un título y un borde. El tamaño del marco incluye cualquier área designada para el borde. Las dimensiones del área del borde se pueden obtener utilizando el método getInsets. | |
Internal Frames | JInternalFrame | Con la clase JInternalFrame se puede mostrar una ventana similar a JFrame dentro de otra ventana. Por lo general, agrega marcos internos a un panel de escritorio. El panel del escritorio, a su vez, podría usarse como el panel de contenido de un JFrame. El panel del escritorio es una instancia de JDesktopPane, que es una subclase de JLayeredPane que ha agregado API para administrar múltiples marcos internos superpuestos. | |
Labels | JLabel | Se puede mostrar texto e imágenes no seleccionables. Si necesita crear un componente que muestre una cadena, una imagen o ambos, puede hacerlo utilizando o extendiendo JLabel. Si el componente es interactivo y tiene un cierto estado, use un botón en lugar de una etiqueta. | |
Layered Panes | JLayeredPane | Un panel de capas es un contenedor que proporciona una tercera dimensión para posicionar componentes: profundidad, también conocida como orden Z. Al agregar un componente a un panel de capas, especifique su profundidad como un entero. Cuanto mayor sea el número, más cerca estará el componente de la posición "superior" dentro del contenedor. Si los componentes se superponen, los componentes "más cercanos" se dibujan en la parte superior de los componentes a una profundidad menor. | |
Lists | JList | Presenta al usuario un grupo de elementos, que se muestran en una o más columnas, para elegir. Las listas pueden tener muchos elementos, por lo que a menudo se colocan en paneles de desplazamiento. | |
Menus | JMenu | Un menú proporciona una manera de ahorrar espacio para permitir al usuario elegir una de las varias opciones. Otros componentes con los que el usuario puede elegir uno de muchos incluyen cuadros combinados, listas, botones de radio, giradores y barras de herramientas. Los menús son únicos porque, por convención, no se colocan con los otros componentes en la interfaz de usuario. En su lugar, un menú generalmente aparece en la barra de menús o como un menú emergente. Una barra de menús contiene uno o más menús. Un menú emergente es un menú que es invisible hasta que el usuario realiza una acción del mouse específica de la plataforma, como presionar el botón derecho del mouse, sobre un componente habilitado para elementos emergentes. | |
Pangels | JPanel | Proporciona contenedores de uso general para componentes livianos. Por defecto, los paneles no agregan colores a nada excepto a su propio fondo; sin embargo, puede agregarles bordes fácilmente y personalizar su color. | |
Password Fields | JPasswordField | La clase JPasswordField, una subclase de JTextField, proporciona campos de texto especializados para la entrada de contraseña. Por razones de seguridad, un campo de contraseña no muestra los caracteres que el usuario escribe. En su lugar, el campo muestra un carácter diferente del que se escribió, como un asterisco. Al igual que un campo de texto normal, un campo de contraseña activa un evento de acción cuando el usuario indica que la entrada de texto está completa, por ejemplo, al presionar el botón Enter. | |
Progress Bars | JProgressBar | A veces, una tarea que se ejecuta dentro de un programa puede tardar un tiempo en completarse. Un programa fácil de usar proporciona alguna indicación al usuario de que la tarea está ocurriendo, cuánto tiempo puede llevar la tarea y cuánto trabajo ya se ha hecho. Una forma de indicar el trabajo, y quizás la cantidad de progreso, es usar una imagen animada. | |
Root Panes | JRootPane | Se obtiene un JRootPane cuando se crea una instancia de JInternalFrame o uno de los contenedores Swing de nivel superior, como JApplet, JDialog y JFrame. | |
Scroll Panes | JScrollPane | Proporciona una vista desplazable de un componente. Cuando la propiedad de la pantalla es limitada, use un panel de desplazamiento para mostrar un componente que sea grande o uno cuyo tamaño pueda cambiar dinámicamente. Otros contenedores utilizados para ahorrar espacio en la pantalla incluyen paneles divididos y paneles con pestañas. | |
Separators | JSeparator | Proporciona una línea divisoria horizontal o vertical o un espacio vacío. Es más comúnmente utilizado en menús y barras de herramientas. Los menús y las barras de herramientas proporcionan métodos convenientes que crean y agregan separadores personalizados para sus contenedores. | |
Sliders | JSlider | Permitir que el usuario ingrese fácilmente un valor numérico delimitado por un valor mínimo y máximo. Si el espacio es limitado, una rueda giratoria es una posible alternativa a un control deslizante. | |
Split Panes | JSplitPane | Muestra dos componentes, uno al lado del otro o uno encima del otro. Al arrastrar el divisor que aparece entre los componentes, el usuario puede especificar qué parte del área total del panel dividido va a cada componente. Puede dividir el espacio de la pantalla entre tres o más componentes colocando paneles divididos dentro de los paneles divididos, como se describe en Anidar paneles divididos. | |
Tabbed Panes | JTabbedPane | Con la clase JTabbedPane, puede tener varios componentes, como paneles, que comparten el mismo espacio. El usuario elige qué componente ver al seleccionar la pestaña correspondiente al componente deseado. Si desea una funcionalidad similar sin la interfaz de pestañas, puede usar un diseño de tarjeta en lugar de un panel con pestañas. | |
Tables | JTable | Se pueden mostrar tablas de datos, opcionalmente permitiendo al usuario editar los datos. JTable no contiene o almacena datos en caché; Es simplemente una vista de sus datos. Aquí hay una imagen de una tabla típica que se muestra dentro de un panel de desplazamiento: | |
Text Areas | JTextArea | Proporciona un componente que muestra varias líneas de texto y, opcionalmente, permite al usuario editar el texto. Si necesita obtener solo una línea de entrada del usuario, debe usar un campo de texto. Si desea que el área de texto muestre su texto utilizando varias fuentes u otros estilos, debe usar un panel de edición o un panel de texto. | |
Text Fields | JTextField | Un campo de texto es un control de texto básico que permite al usuario escribir una pequeña cantidad de texto. Cuando el usuario indica que la entrada de texto está completa (generalmente presionando Enter), el campo de texto dispara un evento de acción. Si necesita obtener más de una línea de entrada del usuario, use un área de texto. | |
Tool Bars | JToolBar | Agrupa varios componentes, generalmente botones con iconos, en una fila o columna. A menudo, las barras de herramientas proporcionan un fácil acceso a la funcionalidad que también se encuentra en los menús. Cómo utilizar las acciones describe cómo proporcionar la misma funcionalidad en los elementos del menú y los botones de la barra de herramientas. | |
Trees | JTree | Puede mostrar datos jerárquicos. Un objeto JTree no contiene realmente sus datos; simplemente proporciona una vista de los datos; el árbol obtiene datos al consultar su modelo de datos. |
(Raposa, 2003)
...