Aplicaciones de Escritorio Interfaces Gráficas con Java Disertantes: Ing. Rasjido, José. AdeS Montenegro, Cristian. Escuela de Informática 2013 - UNPA UACO Agenda Interfaz Grafica de Usuario Aplicaciones de escritorio Tipos AWT Swing Ejemplos Contenedores Gestores de Contenido Crear Ventana Componente Elementos de Swing Eventos tipos Eventos Diálogos Escuela de Informática 2013 - UNPA UACO Interfaz Grafica de Usuario “…la interacción persona-ordenador, como un artefacto interactivo, que por su diseño y a través de ciertos interfaces humanos, posibilita la interacción de una persona con el sistema informático, haciendo uso de las gramáticas visuales y verbales (signos gráficos como iconos, botones, menús y verbales como tipografía)….” Escuela de Informática 2013 - UNPA UACO Agenda Interfaz Grafica de Usuario Aplicaciones de escritorio Tipos AWT Swing Ejemplos Contenedores Gestores de Contenido Crear Ventan Componente Elementos de Swing Eventos tipos Eventos Diálogos Escuela de Informática 2013 - UNPA UACO Aplicaciones de Escritorio Son programas que se instalan y/o ejecutan en un ordenador, incluso si la aplicación trabaja con datos a través de la Web. Escuela de Informática 2013 - UNPA UACO Agenda Interfaz Grafica de Usuario Aplicaciones de escritorio Tipos AWT Swing Ejemplos Contenedores Gestores de Contenido Crear Ventan Componente Elementos de Swing Eventos tipos Eventos Diálogos Escuela de Informática 2013 - UNPA UACO AWT - SWING Java incluye como parte del J2SE, dos conjuntos de librerías que proporcionan una amplia variedad de componentes gráficos: AWT Swing Escuela de Informática 2013 - UNPA UACO AWT – Swing Ejemplo Escuela de Informática 2013 - UNPA UACO AWT AWT ( Abstract Windows Toolkit), conjunto de herramientas para la construcción de interfaces gráficas multiplataforma. multiplataforma Escuela de Informática 2013 - UNPA UACO AWT Component Button TextComponet TextField Color Dimension CheckBox TextArea Container Panel Window Font Applet Retangular Escuela de Informática 2013 - UNPA UACO Point Frame Swing Se presenta como una mejora de los AWT Apariencia independiente de la plataforma Mayor numero de componentes gráficos Mejora de los componentes clásicos Escuela de Informática 2013 - UNPA UACO Swing Component AbstractButton JButton JTextComponet JTextField JLabel JTextArea Escuela de Informática 2013 - UNPA UACO JPasswordField JTable JTree Agenda Interfaz Grafica de Usuario Aplicaciones de escritorio Tipos AWT Swing Ejemplos Contenedores Gestores de Contenido Crear Ventana Componente Elementos de Swing Eventos tipos Eventos Diálogos Escuela de Informática 2013 - UNPA UACO Componentes AWT / Swing Escuela de Informática 2013 - UNPA UACO Actividad Crear un proyecto Java de nombre MiAplicacion_TuApellido Crear un paquete de nombre visual y otro de nombre modelo. En “modelo”, crear la clase “Persona” 1. 2. 3. Atributos: Nombre, Apellido, DNI, E-mail, Nacionalidad, Sexo, Domicilio. Crear los constructores, getters y setters correspondientes a cada uno de los atributos. Escuela de Informática 2013 - UNPA UACO Agenda Interfaz Grafica de Usuario Aplicaciones de escritorio Tipos AWT Swing Ejemplos Contenedores Gestores de Contenido Crear Ventana Componente Elementos de Swing Eventos tipos Eventos Diálogos Escuela de Informática 2013 - UNPA UACO Contenedores El conjunto de objetos visuales con los que interactúa el usuario se encuentran incluidos dentro de un objeto superior, conocido como contenedor, cuya principal función es la de organizar la vista de la aplicación: Ventanas: El aspecto es el clásico de una ventana con barra de titulo, botones característicos, etc. Paneles: está contenido en un contenedor, que puede ser una ventana. Escuela de Informática 2013 - UNPA UACO Agenda Interfaz Grafica de Usuario Aplicaciones de escritorio Tipos AWT Swing Ejemplos Contenedores Gestores de Contenido Crear Ventana Componente Elementos de Swing Eventos tipos Eventos Diálogos Escuela de Informática 2013 - UNPA UACO Gestores de Organización Los gestores de organización o layouts, son objetos que proporcionan una colocación y tamaño automáticos de los controles dentro de un contenedor, siguiendo los criterios definidos por la clase a la que pertenece el layouts. LayoutManager FlowLayout BorderLayout Escuela de Informática 2013 - UNPA UACO GridLayout CardLayout Agenda Interfaz Grafica de Usuario Aplicaciones de escritorio Tipos AWT Swing Ejemplos Contenedores Gestores de Contenido Crear Ventana Componente Elementos de Swing Eventos tipos Eventos Diálogos Escuela de Informática 2013 - UNPA UACO Creación de una Ventana 1. Crear el objeto 1. 2. 2. 3. 4. Frame() ó JFrame() Frame(String s) ó JFrame() Definir tamaño y posición de la ventana. Visualizar la ventana Agregar componentes Escuela de Informática 2013 - UNPA UACO Agenda Interfaz Grafica de Usuario Aplicaciones de escritorio Tipos AWT Swing Ejemplos Contenedores Gestores de Contenido Crear Ventana Componente Elementos de Swing Eventos tipos Eventos Diálogos Escuela de Informática 2013 - UNPA UACO Componentes JPanel JDesktopPane JLabel JTextField JPasswordField JComboBox JButton JCheckBox JRadioButton JMenuBar JMenuItem JScrollPane JList JTextPane Escuela de Informática 2013 - UNPA UACO Actividad Crear una clase de tipo Formulario Frame, dentro del paquete Visual, Escuela de Informática 2013 - UNPA UACO Actividad Crear una aplicación para la carga, modificación, y eliminación de datos de personas a un sistema. Generar una interfaz grafica para la clase Persona. Será un formulario para cargar los datos de las personas Escuela de Informática 2013 - UNPA UACO Agenda Interfaz Grafica de Usuario Aplicaciones de escritorio Tipos AWT Swing Ejemplos Contenedores Gestores de Contenido Crear Ventana Componente Elementos de Swing Eventos tipos Eventos Diálogos Escuela de Informática 2013 - UNPA UACO Eventos Cada uno de los componentes tienen eventos asociados. Los eventos son sucesos que pueden tener lugar sobre la interfaz gráfica de una aplicación, la mayor parte de los cuales son provocados por alguna acción llevada a cabo por el usuario, como ejemplo la pulsación de un botón, la selección de un elemento de una lista o activación del botón de cierre de la ventana. Escuela de Informática 2013 - UNPA UACO Actividad Agregar Eventos a los botones para el formulario Escuela de Informática 2013 - UNPA UACO Agenda Interfaz Grafica de Usuario Aplicaciones de escritorio Tipos AWT Swing Ejemplos Contenedores Gestores de Contenido Crear Ventana Componente Elementos de Swing Eventos tipos Eventos Diálogos Escuela de Informática 2013 - UNPA UACO Diálogos JOptionPane cuenta con estos cuatro metodos basicos para su manejo y uso aunque existen muchos mas solo haremos enfasis en los siguientes: showOptionDialog(); showInputDialog(); showMessageDialog(); showConfirmDialog(); Escuela de Informática 2013 - UNPA UACO Diálogos - showOptionDialog() parentComponent: A partir de este componente, se intentará determinar cual es la ventana que debe hacer de padre del JOptionPane. message: El mensaje a mostrar, habitualmente un String title: El título para la ventana. optionType: Un entero indicando qué opciones queremos que tenga la ventana. Los posibles valores son las constantes definidas en JOptionPane: DEFAULT_OPTION, YES_NO_OPTION, YES_NO_CANCEL_OPTION, o OK_CANCEL_OPTION. messageType: Un entero para indicar qué tipo de mensaje estamos mostrando. Este tipo servirá para que se determine qué icono mostrar. Los posibles valores son constantes definidas en JOptionPane: ERROR_MESSAGE, INFORMATION_MESSAGE, WARNING_MESSAGE, QUESTION_MESSAGE, o PLAIN_MESSAGE icon: Un icono para mostrar. Si ponemos null, saldrá el icono adecuado según el parámetro messageType. Escuela de Informática 2013 - UNPA UACO Dialogo - Iconos Los iconos usados del JOptionPane son los siguientes y son los que recibe como parametro la mayoria de los metodos que necesitan un icono de mensaje Escuela de Informática 2013 - UNPA UACO Ejemplo JOptionPane.showMessageDialog(null, "Hola Mundo", "Lo de siempre", JOptionPane.INFORMATION_MESSAGE ); Escuela de Informática 2013 - UNPA UACO Dialogo - showConfirmDialog() Este método muestra una ventana pidiendo una confirmación al usuario y da al usuario opción de aceptar o cancelar.El método devuelve un entero indicando la respuesta del usuario. Los valores de ese entero puede ser alguna de las constantes definidas en JOptionPane: YES_OPTION, NO_OPTION, CANCEL_OPTION, OK_OPTION, CLOSED_OPTION. Escuela de Informática 2013 - UNPA UACO Ejemplo int confirmado = JOptionPane.showConfirmDialog( null, "¿Lo confirmas?“,JOptionPane.QUESTION_M ESSAGE); Escuela de Informática 2013 - UNPA UACO Diálogos public static void showMessageDialog(Component parentComponent, Object message, String title, int messageType, Icon icon) public static int showConfirmDialog(Component parentComponent, Object message, String title, int optionType, int messageType, Icon icon) Escuela de Informática 2013 - UNPA UACO Diálogos JOptionPane.showConfirmDialog(Cont enedor.this, “Mensaje", “Titulo", JOptionPane.YES_NO_OPTION, JOptionPane.INFORMATION_MESSA GE) == JOptionPane.YES_OPTION JOptionPane.showMessageDialog(Co ntenedor.this, “Mensaje", “Titulo", JOptionPane.ERROR_MESSAGE) Escuela de Informática 2013 - UNPA UACO Actividad Agregar a los eventos validación de los formularios. Escuela de Informática 2013 - UNPA UACO Preguntas… Escuela de Informática 2013 - UNPA UACO