Prácticas POO Curso 08/09 - UAMir.ii.uam.es/~alejandro/2010/poo_d/slidesP3_0.pdf · •Esta...
Transcript of Prácticas POO Curso 08/09 - UAMir.ii.uam.es/~alejandro/2010/poo_d/slidesP3_0.pdf · •Esta...
![Page 1: Prácticas POO Curso 08/09 - UAMir.ii.uam.es/~alejandro/2010/poo_d/slidesP3_0.pdf · •Esta práctica y Java •Esta práctica y NetBeans. Práctica 3 •Implementación sistema](https://reader033.fdocuments.es/reader033/viewer/2022042806/5f6ec4d0f4febd6e1e1aba02/html5/thumbnails/1.jpg)
Prácticas POO Curso 10/11
Alejandro Bellogín
Escuela Politécnica SuperiorUniversidad Autónoma de Madrid
Marzo 2011
http://www.eps.uam.es/~abellogin
![Page 2: Prácticas POO Curso 08/09 - UAMir.ii.uam.es/~alejandro/2010/poo_d/slidesP3_0.pdf · •Esta práctica y Java •Esta práctica y NetBeans. Práctica 3 •Implementación sistema](https://reader033.fdocuments.es/reader033/viewer/2022042806/5f6ec4d0f4febd6e1e1aba02/html5/thumbnails/2.jpg)
Esquema
• Explicación de la P3
• Esta práctica y Java
• Esta práctica y NetBeans
![Page 3: Prácticas POO Curso 08/09 - UAMir.ii.uam.es/~alejandro/2010/poo_d/slidesP3_0.pdf · •Esta práctica y Java •Esta práctica y NetBeans. Práctica 3 •Implementación sistema](https://reader033.fdocuments.es/reader033/viewer/2022042806/5f6ec4d0f4febd6e1e1aba02/html5/thumbnails/3.jpg)
Práctica 3
• Implementación sistema de gestión de tienda virtual
• Con interfaz gráfica
• Sincronizado
• Distribuido (RMI)
![Page 4: Prácticas POO Curso 08/09 - UAMir.ii.uam.es/~alejandro/2010/poo_d/slidesP3_0.pdf · •Esta práctica y Java •Esta práctica y NetBeans. Práctica 3 •Implementación sistema](https://reader033.fdocuments.es/reader033/viewer/2022042806/5f6ec4d0f4febd6e1e1aba02/html5/thumbnails/4.jpg)
Práctica 3 - Calendario
![Page 5: Prácticas POO Curso 08/09 - UAMir.ii.uam.es/~alejandro/2010/poo_d/slidesP3_0.pdf · •Esta práctica y Java •Esta práctica y NetBeans. Práctica 3 •Implementación sistema](https://reader033.fdocuments.es/reader033/viewer/2022042806/5f6ec4d0f4febd6e1e1aba02/html5/thumbnails/5.jpg)
Práctica 3 - Planificación
• Semana 1: GUIs
• Semana 2: sincronización
• Semana 3: RMI
• Semana 4: Semana Santa
• Semana 5: Semana Santa
• Semana 6: fiesta
• Semana 7
• Semana 8: ENTREGA
![Page 6: Prácticas POO Curso 08/09 - UAMir.ii.uam.es/~alejandro/2010/poo_d/slidesP3_0.pdf · •Esta práctica y Java •Esta práctica y NetBeans. Práctica 3 •Implementación sistema](https://reader033.fdocuments.es/reader033/viewer/2022042806/5f6ec4d0f4febd6e1e1aba02/html5/thumbnails/6.jpg)
Práctica 3
• Implementación sistema de gestión de tienda virtual
• Con interfaz gráfica
• Sincronizado
• Distribuido (RMI) Hoy no
Hoy no
![Page 7: Prácticas POO Curso 08/09 - UAMir.ii.uam.es/~alejandro/2010/poo_d/slidesP3_0.pdf · •Esta práctica y Java •Esta práctica y NetBeans. Práctica 3 •Implementación sistema](https://reader033.fdocuments.es/reader033/viewer/2022042806/5f6ec4d0f4febd6e1e1aba02/html5/thumbnails/7.jpg)
Explicación P3
• Estructura de datos
– La de la P2 (XML)
• Interfaz para datos de usuario
– Funcionalidad de la P2 de manera gráfica
• Gestión de la tienda
– La de la P2
– Distinguir roles de cliente y administrador
• Opcional: recomendación
![Page 8: Prácticas POO Curso 08/09 - UAMir.ii.uam.es/~alejandro/2010/poo_d/slidesP3_0.pdf · •Esta práctica y Java •Esta práctica y NetBeans. Práctica 3 •Implementación sistema](https://reader033.fdocuments.es/reader033/viewer/2022042806/5f6ec4d0f4febd6e1e1aba02/html5/thumbnails/8.jpg)
Observación
• Para facilitar el uso de RMI:
– Separar bien el cliente del servidor
– El servidor le devuelve (manda) objetos al cliente
![Page 9: Prácticas POO Curso 08/09 - UAMir.ii.uam.es/~alejandro/2010/poo_d/slidesP3_0.pdf · •Esta práctica y Java •Esta práctica y NetBeans. Práctica 3 •Implementación sistema](https://reader033.fdocuments.es/reader033/viewer/2022042806/5f6ec4d0f4febd6e1e1aba02/html5/thumbnails/9.jpg)
Interfaces gráficas en Java
• Qué tienen que ver con POO?
• Eventos
• Swing vs AWT
• Componentes más importantes
![Page 10: Prácticas POO Curso 08/09 - UAMir.ii.uam.es/~alejandro/2010/poo_d/slidesP3_0.pdf · •Esta práctica y Java •Esta práctica y NetBeans. Práctica 3 •Implementación sistema](https://reader033.fdocuments.es/reader033/viewer/2022042806/5f6ec4d0f4febd6e1e1aba02/html5/thumbnails/10.jpg)
Interfaces y POO
• El usuario ve objetos en la pantalla
• El usuario puede manipular los objetos
• Los objetos tienen comportamiento propio: distintas formas de responder a una acción del usuario
• Programación basada en eventos
![Page 11: Prácticas POO Curso 08/09 - UAMir.ii.uam.es/~alejandro/2010/poo_d/slidesP3_0.pdf · •Esta práctica y Java •Esta práctica y NetBeans. Práctica 3 •Implementación sistema](https://reader033.fdocuments.es/reader033/viewer/2022042806/5f6ec4d0f4febd6e1e1aba02/html5/thumbnails/11.jpg)
Programación basada en eventos• El modo de operación de una interfaz de usuario no se ajusta a un
control de flujo estrictamente secuencial• El usuario tiene un alto grado de libertad en todo momento:
normalmente dispone de un amplio conjunto de acciones posibles• Es el modelo utilizado en las interfaces de usuario actuales basadas en ventanas
• La iniciativa no la lleva el programa sino el usuario
• Las componentes están a la espera de las acciones del usuario• Las acciones del usuario generan eventos que se acumulan en una cola• El sistema de eventos extrae eventos de la cola y los envía a los programas• Los programas procesan los eventos recibidos respondiendo según el tipo de evento• Cada tipo de componente se caracteriza por una forma propia de respuesta a los eventos
• La ventana recibe eventos sin diferenciar• Respuesta de ventanas a eventos: repintar, cambiar apariencia y
repintar, ejecutar una función (acción)
![Page 12: Prácticas POO Curso 08/09 - UAMir.ii.uam.es/~alejandro/2010/poo_d/slidesP3_0.pdf · •Esta práctica y Java •Esta práctica y NetBeans. Práctica 3 •Implementación sistema](https://reader033.fdocuments.es/reader033/viewer/2022042806/5f6ec4d0f4febd6e1e1aba02/html5/thumbnails/12.jpg)
Programación basada en eventos
http://arantxa.ii.uam.es/~castells/docencia/poo/7-guis.pdf
![Page 13: Prácticas POO Curso 08/09 - UAMir.ii.uam.es/~alejandro/2010/poo_d/slidesP3_0.pdf · •Esta práctica y Java •Esta práctica y NetBeans. Práctica 3 •Implementación sistema](https://reader033.fdocuments.es/reader033/viewer/2022042806/5f6ec4d0f4febd6e1e1aba02/html5/thumbnails/13.jpg)
Swing vs AWT
• Componentes renombradas (en Swing empiezan por J)
• Nuevas componentes
• Look-and-feel intercambiable
• No se deben mezclar componentes de Swing y AWT
![Page 14: Prácticas POO Curso 08/09 - UAMir.ii.uam.es/~alejandro/2010/poo_d/slidesP3_0.pdf · •Esta práctica y Java •Esta práctica y NetBeans. Práctica 3 •Implementación sistema](https://reader033.fdocuments.es/reader033/viewer/2022042806/5f6ec4d0f4febd6e1e1aba02/html5/thumbnails/14.jpg)
Layouts
• Alternativa para no definir posiciones absolutas (impone un orden)
• Layout Managers:
– BorderLayout
– FlowLayout
– GridLayout
– …
![Page 16: Prácticas POO Curso 08/09 - UAMir.ii.uam.es/~alejandro/2010/poo_d/slidesP3_0.pdf · •Esta práctica y Java •Esta práctica y NetBeans. Práctica 3 •Implementación sistema](https://reader033.fdocuments.es/reader033/viewer/2022042806/5f6ec4d0f4febd6e1e1aba02/html5/thumbnails/16.jpg)
Algunas componentes
• JPanel
• JFrame
• JMenu
• JDialog
• JFileChooser
• JSeparator
• JTable
• JButton
• JCheckBox
• JComboBox
• JList
• JRadioButton
• JTextField / JTextArea
• JLabel
![Page 18: Prácticas POO Curso 08/09 - UAMir.ii.uam.es/~alejandro/2010/poo_d/slidesP3_0.pdf · •Esta práctica y Java •Esta práctica y NetBeans. Práctica 3 •Implementación sistema](https://reader033.fdocuments.es/reader033/viewer/2022042806/5f6ec4d0f4febd6e1e1aba02/html5/thumbnails/18.jpg)
Componentes Swing:JButton
![Page 19: Prácticas POO Curso 08/09 - UAMir.ii.uam.es/~alejandro/2010/poo_d/slidesP3_0.pdf · •Esta práctica y Java •Esta práctica y NetBeans. Práctica 3 •Implementación sistema](https://reader033.fdocuments.es/reader033/viewer/2022042806/5f6ec4d0f4febd6e1e1aba02/html5/thumbnails/19.jpg)
Componentes Swing:JCheckBox
![Page 20: Prácticas POO Curso 08/09 - UAMir.ii.uam.es/~alejandro/2010/poo_d/slidesP3_0.pdf · •Esta práctica y Java •Esta práctica y NetBeans. Práctica 3 •Implementación sistema](https://reader033.fdocuments.es/reader033/viewer/2022042806/5f6ec4d0f4febd6e1e1aba02/html5/thumbnails/20.jpg)
Componentes Swing:JComboBox
![Page 21: Prácticas POO Curso 08/09 - UAMir.ii.uam.es/~alejandro/2010/poo_d/slidesP3_0.pdf · •Esta práctica y Java •Esta práctica y NetBeans. Práctica 3 •Implementación sistema](https://reader033.fdocuments.es/reader033/viewer/2022042806/5f6ec4d0f4febd6e1e1aba02/html5/thumbnails/21.jpg)
Componentes Swing:JList
![Page 22: Prácticas POO Curso 08/09 - UAMir.ii.uam.es/~alejandro/2010/poo_d/slidesP3_0.pdf · •Esta práctica y Java •Esta práctica y NetBeans. Práctica 3 •Implementación sistema](https://reader033.fdocuments.es/reader033/viewer/2022042806/5f6ec4d0f4febd6e1e1aba02/html5/thumbnails/22.jpg)
Componentes Swing:JRadioButton
![Page 23: Prácticas POO Curso 08/09 - UAMir.ii.uam.es/~alejandro/2010/poo_d/slidesP3_0.pdf · •Esta práctica y Java •Esta práctica y NetBeans. Práctica 3 •Implementación sistema](https://reader033.fdocuments.es/reader033/viewer/2022042806/5f6ec4d0f4febd6e1e1aba02/html5/thumbnails/23.jpg)
Componentes Swing:JTextField
![Page 24: Prácticas POO Curso 08/09 - UAMir.ii.uam.es/~alejandro/2010/poo_d/slidesP3_0.pdf · •Esta práctica y Java •Esta práctica y NetBeans. Práctica 3 •Implementación sistema](https://reader033.fdocuments.es/reader033/viewer/2022042806/5f6ec4d0f4febd6e1e1aba02/html5/thumbnails/24.jpg)
Componentes Swing:JTextArea
![Page 25: Prácticas POO Curso 08/09 - UAMir.ii.uam.es/~alejandro/2010/poo_d/slidesP3_0.pdf · •Esta práctica y Java •Esta práctica y NetBeans. Práctica 3 •Implementación sistema](https://reader033.fdocuments.es/reader033/viewer/2022042806/5f6ec4d0f4febd6e1e1aba02/html5/thumbnails/25.jpg)
Componentes Swing:JLabel
![Page 26: Prácticas POO Curso 08/09 - UAMir.ii.uam.es/~alejandro/2010/poo_d/slidesP3_0.pdf · •Esta práctica y Java •Esta práctica y NetBeans. Práctica 3 •Implementación sistema](https://reader033.fdocuments.es/reader033/viewer/2022042806/5f6ec4d0f4febd6e1e1aba02/html5/thumbnails/26.jpg)
Componentes Swing:JPanel
![Page 27: Prácticas POO Curso 08/09 - UAMir.ii.uam.es/~alejandro/2010/poo_d/slidesP3_0.pdf · •Esta práctica y Java •Esta práctica y NetBeans. Práctica 3 •Implementación sistema](https://reader033.fdocuments.es/reader033/viewer/2022042806/5f6ec4d0f4febd6e1e1aba02/html5/thumbnails/27.jpg)
Componentes Swing:JFrame
![Page 28: Prácticas POO Curso 08/09 - UAMir.ii.uam.es/~alejandro/2010/poo_d/slidesP3_0.pdf · •Esta práctica y Java •Esta práctica y NetBeans. Práctica 3 •Implementación sistema](https://reader033.fdocuments.es/reader033/viewer/2022042806/5f6ec4d0f4febd6e1e1aba02/html5/thumbnails/28.jpg)
Componentes Swing:JMenu
![Page 29: Prácticas POO Curso 08/09 - UAMir.ii.uam.es/~alejandro/2010/poo_d/slidesP3_0.pdf · •Esta práctica y Java •Esta práctica y NetBeans. Práctica 3 •Implementación sistema](https://reader033.fdocuments.es/reader033/viewer/2022042806/5f6ec4d0f4febd6e1e1aba02/html5/thumbnails/29.jpg)
Componentes Swing:JDialog
![Page 30: Prácticas POO Curso 08/09 - UAMir.ii.uam.es/~alejandro/2010/poo_d/slidesP3_0.pdf · •Esta práctica y Java •Esta práctica y NetBeans. Práctica 3 •Implementación sistema](https://reader033.fdocuments.es/reader033/viewer/2022042806/5f6ec4d0f4febd6e1e1aba02/html5/thumbnails/30.jpg)
Componentes Swing:JFileChooser
![Page 31: Prácticas POO Curso 08/09 - UAMir.ii.uam.es/~alejandro/2010/poo_d/slidesP3_0.pdf · •Esta práctica y Java •Esta práctica y NetBeans. Práctica 3 •Implementación sistema](https://reader033.fdocuments.es/reader033/viewer/2022042806/5f6ec4d0f4febd6e1e1aba02/html5/thumbnails/31.jpg)
Componentes Swing:JSeparator
![Page 32: Prácticas POO Curso 08/09 - UAMir.ii.uam.es/~alejandro/2010/poo_d/slidesP3_0.pdf · •Esta práctica y Java •Esta práctica y NetBeans. Práctica 3 •Implementación sistema](https://reader033.fdocuments.es/reader033/viewer/2022042806/5f6ec4d0f4febd6e1e1aba02/html5/thumbnails/32.jpg)
Componentes Swing:JTable
![Page 33: Prácticas POO Curso 08/09 - UAMir.ii.uam.es/~alejandro/2010/poo_d/slidesP3_0.pdf · •Esta práctica y Java •Esta práctica y NetBeans. Práctica 3 •Implementación sistema](https://reader033.fdocuments.es/reader033/viewer/2022042806/5f6ec4d0f4febd6e1e1aba02/html5/thumbnails/33.jpg)
GUIs + NetBeans (I)
![Page 34: Prácticas POO Curso 08/09 - UAMir.ii.uam.es/~alejandro/2010/poo_d/slidesP3_0.pdf · •Esta práctica y Java •Esta práctica y NetBeans. Práctica 3 •Implementación sistema](https://reader033.fdocuments.es/reader033/viewer/2022042806/5f6ec4d0f4febd6e1e1aba02/html5/thumbnails/34.jpg)
GUIs + NetBeans (I)
Inspector
![Page 35: Prácticas POO Curso 08/09 - UAMir.ii.uam.es/~alejandro/2010/poo_d/slidesP3_0.pdf · •Esta práctica y Java •Esta práctica y NetBeans. Práctica 3 •Implementación sistema](https://reader033.fdocuments.es/reader033/viewer/2022042806/5f6ec4d0f4febd6e1e1aba02/html5/thumbnails/35.jpg)
GUIs + NetBeans (I)
Inspector
Paleta
![Page 36: Prácticas POO Curso 08/09 - UAMir.ii.uam.es/~alejandro/2010/poo_d/slidesP3_0.pdf · •Esta práctica y Java •Esta práctica y NetBeans. Práctica 3 •Implementación sistema](https://reader033.fdocuments.es/reader033/viewer/2022042806/5f6ec4d0f4febd6e1e1aba02/html5/thumbnails/36.jpg)
GUIs + NetBeans (II)
+ 4
componentes
(drag & drop)
![Page 37: Prácticas POO Curso 08/09 - UAMir.ii.uam.es/~alejandro/2010/poo_d/slidesP3_0.pdf · •Esta práctica y Java •Esta práctica y NetBeans. Práctica 3 •Implementación sistema](https://reader033.fdocuments.es/reader033/viewer/2022042806/5f6ec4d0f4febd6e1e1aba02/html5/thumbnails/37.jpg)
GUIs + NetBeans (II)
+ 4
componentes
(drag & drop)
distintos
look & feel