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.

Slides:



Advertisements
Presentaciones similares
El lenguaje de programación Java
Advertisements

Programación “Conducida por eventos” Event-driven programming
Java Applets Ing. Martín Jiménez.
David Escudero Mancebo Alfonso Pedriza Rebollo
Abstract Window Toolkit (AWT) y Java Swing
Algoritmo y Estructura de Datos I I Facultad de Ingeniería y Arquitectura Ing. Juan José Montero Román. Sesión 12 - Introducción.
En esta fase del editor de texto mostraremos los avances que ha obtenido el equipo a lo largo de estas semanas. Así como las clases, eventos, botones,
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.
Aplicaciones GUI en Java
Igor Santos Grueiro. Ahora tenemos datos y datos …
UNIDAD 2 CLASES Y OBJETOS. CLASE Elementos cabecera y cuerpo de la clase. Cabecera: aporta información fundamental sobre la clase en sí y constituye de.
Lección 8 Botones, objetos de texto y de línea
ENTORNO GRÁFICO DE VISUAL BASIC 2013
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.
:: Prof. Yeniffer Peña Programación I Interface Gráfica de Usuario Presentación.
Agustín J. González ELO329/ELO330
EI, Profesor Ramón Castro Liceaga Agosto de 2005 UNIVERSIDAD LATINA (UNILA) PROGRAMACION ORIENTADA A OBJETOS EN JAVA (Optativa) PROGRAMACION DE INTERFASES.
Programación Orientada a Objetos
Sintaxis Completa los siguientes esquemas: Esquema de excepción Excepción Definición Tipos Implementación En el lenguaje Java, excepción es un tipo de.
Componentes de las interfaces
APLICACIÓN EN VISUAL BASIC
QUÈ ES VISUAL BASIC ES UN LENGUAJE DE PROGRAMACIÒN QUE SE HA DISEÑADO PARA FACILITAR EL DESARROLLO DE APLICACIONES EN EL ENTORNO GRÀFICO. (GUI GRAPHICAL.
QUÈ ES VISUAL BASIC ES UN LENGUAJE DE PROGRAMACIÒN QUE SE HA DISEÑADO PARA FACILITAR EL DESARROLLO DE APLICACIONES EN EL ENTORNO GRÀFICO (GUI GRAPHICAL.
Hermilia Molina Acevedo
QUIMESTRE II PARCIAL I.
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.
Programación de Interfaces Gráficas en Java
El lenguaje de programación Java
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.
Un editor de texto es un programa que permite crear y modificar archivos digitales compuestos únicamente por texto sin formato, conocidos comúnmente como.
:: Prof. Yeniffer Peña Programación I Interface Gráfica de Usuario Presentación.
Presentado por: PABLO ANDRES DIAZ SAIN HASSAM CAICEDO
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) LENGUAJES DE PROGRAMACIÓN PARA EL DESARROLLO DE INTERFACES.
Programación de Interfaces Gráficas en Java
COMANDOS PRINCIPALES DE VISUAL BASIC 6.0
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.
Sitios WEB HTML Dreamweaver Interfaz Instructor: Adbeel Cabnal.
ELO329: Diseño y Programación Orientados a Objetos
Mediacentro Clase #2 de Excel I. Temario Insertar y eliminar: columnas filas y celdas Formatos de Celdas Formato de Filas, columnas y Hojas.
Ing. Vanessa Borjas. Entorno gráfico En un entorno gráfico se tiende a que cada uno de los programas esté compuesto por un formulario, aunque no es una.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA.1 AWT ABSTRAC WINDOW TOOLKIT.
Manejo de Eventos Visita FIEC FIEC. Eventos En evento es una acción iniciada por el usuario. Ejemplo de eventos son: presionar un botón, cambiar un texto,
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
Prof. Víctor Aquino Urrutia
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,
P O W E R P O I N T CONCEPTOS BÁSICOS 1.
1 Programación “Conducida por eventos” Event-driven programming Agustín J. González ELO329/ELO330.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
Procesador de textos. Componentes de Word. Multiversidad Latinoamericana Campus Celaya Bachillerato Informática I Prof. Brayan Tula Villanueva 1er. Semestre.
:: Prof. Yeniffer Peña Programación I Interface Gráfica de Usuario Presentación.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
Entorno Gráfico Desacoplar Eventos. Jframe setResizable setTitle setSize setVisible Jpanel Layout GridBack SetBounds Jlabel Jbuttom Jchechbox Jradio.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
:: Prof. Yeniffer Peña Programación I Interface Gráfica de Usuario Presentación.
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,
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
1 Librería JOptionPane Joel Adán Saldaña Villalba.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
Exception Object Throwable Error Exception Runtime Exception.
Interfaces Gráficas de Usuario
Programación Orientada a Objetos
INSTITUTO TÉCNOLOGICO SUPERIOR DE LIBRES
Interfaces Gráficas de Usuario
Transcripción de la presentació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 MVC (Modelo-Vista-Control) Programación gráfica

El lenguaje de programación Java2 Interfaz gráfica de usuario El interfaz de usuario es la parte del programa que permite a éste interactuar con el usuario. AWT (Abstract Window Toolkit) biblioteca de clases Java para el desarrollo de Interfaces de Usuario Gráficas. La estructura básica del AWT se basa en Componentes y Contenedores –Los Contenedores contienen Componentes, que son los controles básicos –todos los Componentes clase Component o uno de sus subtipos. –los Contenedores son instancias de la clase Container o uno de sus subtipos. No se usan posiciones fijas de los Componentes, sino que están situados a través de una disposición controlada ( Layouts)

Interfaz gráfica de usuario. AWT Button Component Checkbox Canvas Choice Label List ScrollBar Panel Container WindowScrollPane Dialog FileDialog TextArea TextComponent TextField MenuComponent MenuItemMenuBar CheckBoxMenuItemMenu PopupMenu Frame

El lenguaje de programación Java4 Swing-JFC (Java Foundation Classes) Extensión de AWT mejora la cosmética de las GUI’s. La apariencia de la aplicación se adapta al sistema operativo y plataforma donde se está ejecutando. Garantizan que el aspecto es el mismo aunque se cambie de plataforma. −Look and Feel: Metal, Window, Motif La aplicación se puede utilizar sin ratón sin añadir código Las clases se llaman igual que las del paquete java.awt pero con una J delante, esto es, JFrame, JButton,...

El lenguaje de programación Java5 Swing Containers: JPanel, JTabbedPane, JScrollPane, JSplitPane, JMenuBar, JPopupMenu, JToolBar Swing Components: JButton, JRadioButton, JChechBox, JLabel, JTextArea, JTextField, JPasswordField, JComboBox, JList, JTree, JTable

El lenguaje de programación Java6 JFrame paquete javax.swing Por defecto se crea con tamaño 0x0 –setSize(ancho, alto) Hay que indicar qué ocurrirá cuando el usuario cierre la ventana –setDefaultCloseOperation(cte) –cte = EXIT_ON_CLOSE/DO_NOTHING_ON_CLOSE/HIDE_ON_CLOSE/ DISPOSE_ON_CLOSE Al crear un frame no se visualiza automáticamente –setVisible(true) Para situar un frame en la ventana: –setLocation(x,y) //(x,y) es la esquina superior-izda –setBounds(x, y, ancho, alto)

El lenguaje de programación Java7 Toolkit Permite obtener información dependiente del sistema. Ejemplo: Permite obtener las dimensiones de la pantalla para poder calcular el tamaño óptimo del tamaño de las ventanas de la aplicación. class FrameCentrado extends JFrame{ public FrameCentrado() { try { jbInit(); } catch(Exception e) { e.printStackTrace(); } private void jbInit() throws Exception { //siguiente transparencia }

El lenguaje de programación Java8 clase FrameCentrado (continuación) private void jbInit() throws Exception { //obtener las dimensiones de la pantalla Toolkit kit = Toolkit.getDefaultToolkit(); Dimension tamañoVtna = kit.getScreenSize(); int alto = tamañoVtna.height; int ancho = tamañoVtna.width; //centrar la ventana en la pantalla this.setSize(ancho/2, alto/2); setLocation(ancho/4, alto/4); //Establecer título e icono Image img = kit.getImage(“icon.gif”); //gif y jpeg setIconImage(img); setTitle(“Frame centrado”); }

El lenguaje de programación Java9 No se añaden directamente los componentes a un frame sino a un panel de contenido. this.getContentPane().add(…); Los componentes en un contenedor se gestionan por un layout manager: –FlowLayout: Alinea los componentes horizontalmente. opción por defecto en JPanel dentro de una fila se puede elegir la alineación ( LEFT, RIGHT, CENTER ) –BorderLayout: opción por defecto del panel de contenido de un JFrame. Puede elegir dónde colocar los componentes: NORTH, SOUTH, EAST, WEST, CENTER (por defecto)

El lenguaje de programación Java10 BorderLayout setLayout(new BorderLayout()); this.getContentPane(componente, “South”); Las constantes se han definido como String. El componente tiende a ocupar todo el espacio disponible. Solución: situar un panel ( JPanel ) en cada zona que necesitemos

El lenguaje de programación Java11 Etiquetas. JLabel JLabel etiq2 = new JLabel( "Etiqueta2" ); etiq2.setText(“Soy una etiqueta”); etiq2.setFont( new Font("Helvetica", Font.BOLD, 18 )); Icon imagen = new ImageIcon( "star0.gif" ); JLabel etiq3 = new JLabel( "Etiqueta3"); etiq3.setIcon(imagen);

12 JTextField, JTextArea y JScrollPane Introducir texto en una línea o varias. Métodos heredados de JTextComponent : –void setText(String t) –String getText() –void setEditable(boolean b) El layout puede ajustar el tamaño del JTextField aunque se establezca un tamaño preferido ( setColumns ) JTextArea se pueden establecer las filas (rows) y columnas (columns) Se puede añadir una barra de scroll ( JScrollPane ).Aparecerá cuando el texto exceda el tamaño establecido textArea = new JTextArea(8,40); JScrollPane sp = new JScrollPane(textArea); contentPane.add(scrollPane, BorederLayout.CENTER);

El lenguaje de programación Java13 Pestañas. JTabbedPane String informativo sobre los componentes: boton1.setToolTipText( "Soy el JBoton 1" ); Se pueden asignar imágenes ( Icon ) a los botones ( JButton ). Cada pestaña debe tener un JPanel para añadir los componentes Botón de dos estados JRadioButton y JCheckBox son subclases ButtonGroup (exclusividad)

El lenguaje de programación Java14 JCheckBox y JRadioButton JCheckBox : –JCheckBox(String label) –JCheckBox(String label, boolean state) –JCheckBox(String label, Icon icon) –boolean isSelected() –void setSelected(boolean state) JRadioButton : –JRadioButton(String label, boolean state) –JRadioButton(String label, Icon icon) –Para una selección exclusiva se tienen que agrupar en ButtonGroup: add(AbstractButton b) ButtonModel getSelection(); –ButtonModel String getActionCommand()

El lenguaje de programación Java15 JComboBox Seleccionar entre muchas alternativas Métodos: –void setEditable(boolean b) –void addItem(Object item) –void insertItemAt(Object item, int index) –void removeItem(Object item) –void removeItemAt(int index) –void removeAllItems() –Object getSelectedItem()

El lenguaje de programación Java16 JOptionPane Ventanas de mensajes estándar que permiten mostrar un mensaje de información al usuario o capturar información. Casi todos los usos de esta clase son llamadas a uno de los métodos static showXxxDialog –JOptionPane.showMessageDialog(); –JOptionPane.showConfirmDialog(); –JOptionPane.showOptionDialog)(); –JOptionPane.showInputDialog(); Todos los diálogos son modales (no continúa la ejecución hasta que no se cierra). Se pueden configurar mediante parámetros: título, mensaje, icono, etc.

El lenguaje de programación Java17 Ejemplos JOptionPane JOptionPane.showMessageDialog(null, "Cuidado con lo que haces", "Consejo", JOptionPane.ERROR_MESSAGE); JOptionPane.showConfirmDialog(null, “Debes elegir uno", “Decide", JOptionPane.YES_NO_OPTION);

El lenguaje de programación Java18 Ejemplo JOptionDialog Object[] opciones = { "Continuar", "Cancelar", "Guardar Estado" }; JOptionPane.showOptionDialog(null, "Podemos estar en un estado inconsistente", "¡¡¡OJO!!!",JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE, null, opciones, opciones[0]);

El lenguaje de programación Java19 Ejemplo entrada de datos Object [] valores = {"Libro","CD","DVD" }; String respuesta=(String) JOptionPane.showInputDialog( null, "Elija el tipo de producto", "Entrada de datos", JOptionPane.QUESTION_MESSAGE, null, valores, valores[0]);

El lenguaje de programación Java20 Ejemplo entrada de datos libre Icon icono = new ImageIcon("icons/Question.gif"); String respuesta = (String)JOptionPane.showInputDialog( null, "Introduzca el nombre que va a borrar", "Eliminar contacto", JOptionPane.QUESTION_MESSAGE, icono, null,null);

El lenguaje de programación Java21 Menús JMenuBarJPopupMenu 1.Añadimos un menú 2.Haciendo doble click abrimos el diseñador de menús Componente JFileChooser

El lenguaje de programación Java22 Diseñador de menús

El lenguaje de programación Java23 Asignación del menú al componente Una vez cerrado el diseñador de menús, asignamos el JMenuBar al componente que lo contendrá ( JFrame o JDialog ). Desde el diseñador El resultado es que en la en la definición de VentanaContador se añada: this.setJMenuBar(jMenuBar1); Propiedades del JFrame o JDialog

24 Modelo de delegación de eventos Los eventos se encapsulan en una jerarquía de clases donde la clase raíz es java.util.EventObject Fuentes de eventos (Source): –es un objeto que tiene la capacidad de detectar eventos y notificar a los receptores de eventos que se han producido esos eventos –mantiene una lista de objetos receptores y los tipos de eventos a los que están suscritos. El programador crea esa lista utilizando llamadas a los métodos add Listener() (tb remove). –Generalmente un componente del interfaz gráfico Receptores de eventos (Listener): –es una clase (o una subclase de una clase) que implementa un interfaz receptor específico java.util.EventListener –declara TODOS los métodos adecuados al tratamiento de los eventos de su clase Resultan de utilidad las clases internas

25 Modelo de delegación de eventos Emparejamiento entre clases de eventos y definiciones de interfaces. Por ejemplo: –class MouseEvent –interfaz MouseListener –En java.awt.Component existe el método addMouseListener Adaptadores ( Adapter ): –evita tener que escribir todos los métodos del interfaz –implementa todos los métodos del interfaz con métodos vacíos –una clase receptor puede definirse como una clase que extiende una clase Adapter (en lugar de una clase que implementa el interfaz) y sobreescribe los métodos que necesite –Ejemplo: p ublic abstract class MouseAdapter implements MouseListener

26 Interfaces Listener Métodos

El lenguaje de programación Java27 Modelo de delegación de eventos. Ejemplo import java.awt.*; class CierraVentanas implements WindowListener{ public void windowClosing(WindowEvent we){ Window w = (Window)we.getSource(); w.dispose(); System.exit(0); } public void windowOpened (WindowEvent we){} public void windowClosed (WindowEvent we){} public void windowActivated (WindowEvent we){} public void windowDeactivated (WindowEvent we){} public void windowIconified (WindowEvent we){} public void windowDeiconified (WindowEvent we){} } public class MiAplicacion extends JFrame{... public MiAplicacion(){... this.addWindowListener(new CierraVentanas());... } Vacios!! extends WindowAdapter

El lenguaje de programación Java28 Ejemplo2: WindowAdapter import java.awt.*; class CierraVentanas extends WindowAdapter{ //Sólo implementamos el método que necesitamos public void windowClosing(WindowEvent we){ Window w = (Window)we.getSource(); w.dispose(); System.exit(0); } public class MiAplicacion extends JFrame{... public MiAplicacion(){... this.addWindowListener(new CierraVentanas());... } DefaultCloseOperations: EXIT_ON_CLOSE DO_NOTHING_ON_CLOSE HIDE_ON_CLOSE DISPOSE_ON_CLOSE

El lenguaje de programación Java29 Ejemplo: JFrameContador v.1 1) JButton jButtonDec; 2) jButtonDec.addActionListener(new BDListener()); 3) //Clase interna en JFrameContador class BDListener implements ActionListener{ public void actionPerformed(ActionEvent event){ miConta.decrementar(); imprimirValor(); }

El lenguaje de programación Java30 Ejemplo: JFrameContador v.2 jButtonDec.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent event){ miConta.decrementar(); imprimirValor(); } }); Cualquiera de las clases listener pueden ser clases anónimas, que tiene la ventaja de no necesitar un nuevo nombre de clase Ningún otro componente podría invocar a este ActionListener

El lenguaje de programación Java31 En JBuilder se puede elegir el estilo

El lenguaje de programación Java32 Generar los métodos asociados a los eventos sobre los componentes, en el estilo seleccionado void jButtonSumar_actionPerformed(ActionEvent e) { //acciones asociadas al evento (programador) conta.incrementar(); imprimirValor(); //rellena el JTextField }

El lenguaje de programación Java33 Diseñador de menús. Acciones asociadas void jMenuItemSalir_actionPerformed(ActionEvent e) { //El cuerpo lo rellena el programador System.exit(0); }

El lenguaje de programación Java34 Enlazar el menú Archivo con JFileChooser JFileChooser es un cuadro de diálogo para archivos. Acción asociada a la opción de menú abrir: public class VentanaContador extends JFrame{ private JFileChooser explorador = new JFileChooser();... void jMenuItemAbrir_actionPerformed(ActionEvent e) { if (JFileChooser.APPROVE_OPTION == explorador.showOpenDialog(this)){ File fichero = explorador.getSelectedFile(); recuperarDatos(fichero); } También showSaveDialog

El lenguaje de programación Java35 JFileChooser.showOpenDialog