Entorno Gráfico Desacoplar Eventos. Jframe setResizable setTitle setSize setVisible Jpanel Layout GridBack SetBounds Jlabel Jbuttom Jchechbox Jradio.

Slides:



Advertisements
Presentaciones similares
VISUAL. 1.Hacer nuevo proyecto 2.Crear un nuevo paquete 3.Hacer una clase visual 1.Dar el nombre 2.Seleccionar el estilo AWT 3.Seleccionar Frame.
Advertisements

Programación Interactiva Eventos y Swing
Programación “Conducida por eventos” Event-driven programming
UNIVERSIDAD LATINA (UNILA) V.- INTERFASES GRAFICAS
Algoritmo y Estructura de Datos I I Facultad de Ingeniería y Arquitectura Juan José Montero Román. Sesión 15 - Archivos.
Algoritmo y Estructura de Datos I I Facultad de Ingeniería y Arquitectura Ing. Juan José Montero Román. Sesión 12 - Introducción.
Java Parte II Taller de Sistemas de Programas Enero-Marzo 99 Prof. : Sandra Zabala, Marilenis Olivera Ivette C. Martínez, Pedro García, Alejandra Blanco.
TEMA 1. Diseño de interfaces gráficas
Programación “Conducida por eventos” Event-driven programming Agustín J. González ELO330.
Introducción a la Programación Orientada a Objetos Redefinición y Sobrecarga Dada la siguiente jerarquía de clases: Alfa Delta Beta.
Herencia e Interfaces.
Java. Objeto Es la instancia de una clase. Cada objeto se crea utilizando la palabra reservada new. Un objeto es conocido como una instancia. Ejemplo.
MouseListener y MouseMotionListener SUSANA CAROLINA VILLA TORRES.
Aplicaciones GUI en Java
1 Ingeniería del Software Ejercicios de Implementación  Caso de Uso Total Gasto (Junio 2003)  Caso de Uso Mejor Usuario (Septiembre 2003)  Caso de Uso.
Suponiendo que además en la clase U hay: import java.util.*; class U{ static Scanner teclado = new Scanner(System.in); static public int readInt(String.
3.  Recursividad.
Capítulo 5 - b: Hilos. 4.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th edition, Jan 23, 2005 Ejemplo de hilos: un applet Un.
Patrones de diseño DECORATOR Mario Rodríguez Martín
El lenguaje de programación Java1 Diseño de la interfaz gráfica (javax.swing) –Contenedores –Componentes Modelo de eventos Diseño de aplicaciones –Modelo.
Técnicas avanzadas de programación Aplicaciones. Introducción (I) Sun creó para Java una librería para la creación de aplicaciones y applets con GUI:
Hola mundo. 2 En Java para indicar el inicio y fin de un bloque de instrucciones utiliza las llaves { } es decir: { Inicio de instrucciones para la clase.
Manejo de Eventos. Lo básico para manejo de eventos Cuando se realiza una interacción con el programa, se envía un evento. Es fundamental su comprensión.
Interfaces Graficas Profesor: Rodrigo Cruzat. Contenedores La ventana misma, que contiene botones, texto, etc… y donde se realizará la interacción JFrame.
AWT y Swing Existen dos conjuntos basicos de componentes. Para crear aplicaciones graficas o GUI AWT abstract Window Toolkit Swing.
Programación basada en eventos “Event-Based Programming”: Conceptos
1 Programación “Conducida por eventos” Event-driven programming Agustín J. González ELO329/ELO330.
1 TEMA 1. Diseño de interfaces gráficas 1.Introducción 2.Componentes de la interfaz 3.Programación dirigida por eventos 4.Gestores de ubicación 5.Primitivas.
Presentado por: PABLO ANDRES DIAZ SAIN HASSAM CAICEDO
Ing. Esp. Ricardo Cújar. SWING  Paquete de Java que permite el desarrollo de interfaces gráficas de usuario.  Api Swing, es sumamente flexible y se.
ELO329: Diseño y Programación Orientados a Objetos
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA.1 JAVA APPLETS Silvia Larrayoz Leire Urriza.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
Ing. Esp. Ricardo Cujar. Permite la ejecución de una sentencia, dada una determinada condición. If(condición){ sentencia(s) a ejecutar en caso de que.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
M.C. Meliza Contreras González.  Se le llama interfaz gráfica al conjunto de componentes gráficos(ventanas, botones, combos, listas, cajas de dialogo,
Un paseo por las nuevas funciones. Patrones de Diseño Por si no ha quedado claro, los Patrones de Diseño, son el esqueleto de las soluciones a problemas.
1 Programación “Conducida por eventos” Event-driven programming Agustín J. González ELO329/ELO330.
TALLER POO JAVA ERNESTO GOMEZ VARGAS. OBJETIVOS REALIZAR UNA APLICACIÓN SENCILLA DE P.O.O FAMILIARIZARSE CON LA HERRAMETA NETBEANS APLICAR EL CONCEPTO.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 3.
Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Práctica 4 Versión Diseño de tipos Igualdad, representación, código,
Implementación de Iterables Construcción de Iterables virtuales o basados en otros iterables Fundamentos de Programación Departamento de Lenguajes y Sistemas.
RELACIONES ENTRE CLASES M.C. YOLANDA MOYAO MARTINEZ.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
ESTRUCTURA DE UN PROGRAMA EN
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
EL MUNDO DE LOS OBJETOS PROGRAMANDO EN JAVA.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
Exception Object Throwable Error Exception Runtime Exception.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
Interfaces Gráficas de Usuario
Interfaces Gráficas de Usuario
Interfaces Gráficas de Usuario
QUE ES JCOMBOBOX? MIGUEL MACIP CONTRERAS MAGALY SALAZAR GARCIA
Clases Asociadas y encapsulamiento
Componentes básicos ComponenteDescripción JLabel  Permite agregar texto no editable, o incluso imágenes. JTextField  Permite al usuario ingresar texto.
Interfaces Gráficas de Usuario
Interfaces Gráficas de Usuario
Clases Asociadas y encapsulamiento
Clases Asociadas y encapsulamiento
Clases abstractas e interfaces
Transcripción de la presentación:

Entorno Gráfico Desacoplar Eventos

Jframe setResizable setTitle setSize setVisible Jpanel Layout GridBack SetBounds Jlabel Jbuttom Jchechbox Jradio ….. Listener ActionListener ActionPerformed

Responsabilidad Simple El Frame Los Paneles Los objetos sobre los paneles Los eventos de los objetos (desacoplados)

import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JFrame; public class Ventana extends JFrame { private PanelBotones botones; protected PanelCuerpo principal; protected Eventos eventos; Creando la Ventana (Mesa)

public Ventana() { initEvents(); botones = new PanelBotones(this); principal = new PanelCuerpo(this); add(principal, "North"); add(botones, "Center"); setResizable(false); setTitle("Taller De Entorno Grafico"); setSize(250, 200); setVisible(true); }

void initEvents() { this.eventos = new Eventos(this); this.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); }

Creando las Capas y Objetos (Mantel y los objetos sobre la mesa) Un Panel (North) Por ejemplo: Cuerpo de la ventana Un Panel (Center) Por Ejemplo: Botones de la Ventana

Creando las Capas y Objetos (Mantel y los objetos sobre la mesa) import java.awt.GridLayout; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; public class PanelCuerpo extends JPanel { private JLabel Nombrel; protected JTextField Nombre; private Ventana ventana; Primer Panel

Creando las Capas y Objetos (Mantel y los objetos sobre la mesa) public PanelCuerpo(Ventana ven) { this.ventana = ven; Nombrel = new JLabel("Nombre", JLabel.LEFT); Nombre = new JTextField(); setLayout(new GridLayout(3, 1)); add(Nombrel); add(Nombre); }

Creando las Capas y Objetos (Mantel y los objetos sobre la mesa) public String obtenerValor() { return Nombre.getText(); }

Creando las Capas y Objetos (Mantel y los objetos sobre la mesa) import javax.swing.JButton; import javax.swing.JPanel; public class PanelBotones extends JPanel { private JButton Cancelar, Enviar; private Ventana ventana; public PanelBotones(Ventana ven) { this.ventana = ven; Cancelar = new JButton("Cancelar"); Cancelar.setActionCommand("Cancelar"); Enviar = new JButton("Enviar"); Enviar.setActionCommand("Enviar"); Enviar.addActionListener(this.ventana.eventos); add(Enviar); Cancelar.addActionListener(this.ventana.eventos); add(Cancelar); } Segundo Panel

Creando los Eventos import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class Eventos implements ActionListener { Ventana ventana; public Eventos(Ventana ven) { this.ventana=ven; }

Creando los public void actionPerformed(ActionEvent e) { String evento = e.getActionCommand(); if (evento.equals("Cancelar")) { System.exit(0); } else if (evento.equals("Enviar")) { System.out.println("El dato leido: "+ this.ventana.principal.obtenerValor()); } else { System.out.println(evento + " selected"); }

import Vista.Ventana; public class Launcher { public static void main(String[] args){ new Ventana(); } Generando los Paquetes

Ejecutando el Aplicativo

Segundo Ejemplo

public class Launcher { public static void main(String[] args) { new Controlador(); } import interfaz.Ventana; import mundo.Empleado; public class Controlador { private Empleado e; private Ventana ventana; public Controlador() { e = new Empleado(); e.inicializar("Carlos", "Martinez", 1); ventana = new Ventana(this); ventana.actualizarEmpleado(e.darNombre(),e.darApellido(),e.darSexo()); }

public class Empleado { private String nombre; private String apellido; private int sexo; public void inicializar(String pNombre, String pApellido, int pSexo) { nombre = pNombre; apellido = pApellido; sexo = pSexo; } public String darApellido() { return apellido; } public String darNombre() { return nombre; } public int darSexo() { return sexo; }

import Control.Controlador; import java.awt.BorderLayout; import javax.swing.JFrame; import javax.swing.JOptionPane; public class Ventana extends JFrame { private PanelDatos panelDatos; private PanelBotones panelExtensiones; private Controlador control; public Ventana(Controlador con) { this.control = con; setTitle("Datos del Empleado"); panelDatos = new PanelDatos(this); panelExtensiones = new PanelBotones(this); getContentPane().setLayout(new BorderLayout()); getContentPane().add(panelDatos, BorderLayout.NORTH); getContentPane().add(panelExtensiones, BorderLayout.SOUTH);

setSize(430, 230); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); } public void actualizarEmpleado(String nombre, String apellido, int sex) { String sexo; if (sex == 1) { sexo = "Masculino“; } else { sexo = "Femenino“; } panelDatos.actualizarCampos(nombre, apellido, sexo); validate(); } public void mostrarDatos() { JOptionPane.showMessageDialog(null, "Los datos son: \n Nombre:" + panelDatos.getNombre() + " \n Apellido: " + panelDatos.getApellido() + " \n Sexo: " + panelDatos.getSexo()); } public void salir() { System.exit(0); }

La Clase PanelDatos (en el Aula) La Clase PanelBotones (en el Aula)

import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class Eventos implements ActionListener { private PanelBotones ventana; public Eventos(PanelBotones ven) { this.ventana = ven; public void actionPerformed(ActionEvent evento) { String comando = evento.getActionCommand(); if (comando.equals("Ver Datos")) { this.ventana.mostrarDatos(); } else if (comando.equals("Salir")) { this.ventana.salir(); }