Algoritmia y Programación

Documentos relacionados
Programación de Eventos

Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Algoritmia y Programación

Introducción a la Programación Orientada a Objetos

Problema 1 (2 puntos)

Interfaces gráficas. Jose Jesus García Rueda

Agenda. Contenedores y componentes

Pasos requeridos para establecer el manejo de eventos para un componente de GUI.

Programación de sistemas

Lenguajes de Programación Curso Práctica 8. Interfaces gráficas de usuario y Swing. Trabajo con modelos. 1. Un ejemplo 2. 2.

Metodología de la Programación

Programación Basada en Eventos

Interfaces Gráficas de Usuario

1 Funcionalidades Java que se presentan en esta práctica

INTERFACES GRÁFICAS. Algoritmia y Programación

INTERFAZ GRÁFICO DE USUARIO

Interacción con el Usuario Gestión de Eventos

Desarrollo de Aplicaciones en Java INF 473

Segundo Certamen Tiempo: 100 minutos

Interfaces gráficas con Swing

ALGORITMICA Y PROGRAMACION POR OBJETOS I

APELLIDOS:... NOMBRE:... GRUPO:... NÚMERO DE EXPEDIENTE:...

IC Programación Orientada a Objetos I. Programación de Interfaces Gráficas de Usuario (GUI) 2

public void mousepressed(mouseevent evento) Se llama cuando se oprime un botón del ratón, mientras el cursor del ratón está sobre un componente.

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Construir una Interfaz Gráfica

Componentes Swing. Las clases cuyo nombre comienza por J forman parte de Swing. Todas las demás están incluidas en AWT (Abstract Window Toolkit)

Interfaces gráficas de usuario

EJERCITACIÓN JAVA CÁTEDRA DE LENGUAJES ORIENTADOS A OBJETOS. Ing. Mario Bressano & Luciano Diamand ENVÍO RESUELTO 05

Tema 6. Interfaces gráficas de usuario (Parte 1)

Creando archivos *.jar 2008

Interfaz Gráfica de Usuario (GUI)

Tipos de programas en Java. Programación basada en eventos. Programación basada en eventos. Creación de una interfaz gráfico de usuario

CAPITULO 11. CONSTRUIR INTERFACES GRAFICAS DE USUARIO

Manejo de eventos AWT

Diseño y Programación Orientados a Objetos 29 de Abril de Primer Certamen

I. Introducción a la programación orientada a objetos y al lenguaje JAVA Colegio Reuven Feuerstein --Javier Navarro

Introducción a la Programación Orientada a Objetos

Programación orientada a objetos. Capítulo 11 Construir interfaces gráficas de usuarios

Java es un lenguaje orientado a objetos, por lo que los objetos (las clases) son los elementos más importantes en el diseño y desarrollo de una

EVENTOS en Java generador de un evento gestor de eventos

Interfaces gráficas en Java GUIs Graphical User Interface

Ejemplo de GUI con Swing

Universidad Autónoma de Baja California Facultad de Ingeniería Apuntes de Programación Orientada a Objetos I

d) Mencione dos diferencias y dos semejanzas entre clases abstractas e interfaces.

III. Desarrollo de aplicaciones con manejo de datos en la memoria Reuven Feuerstein Javier Navarro

Desarrollando aplicaciones mediante componentes

E1. Práctica UF2406: El ciclo de vida del desarrollo de aplicaciones

Programación Orientada a Objetos

Aplicaciones de Escritorio

CONSTRUIR INTERFACES GRAFIC I AS D E USUARIO I O (GUI) I 1

PROGRAMACIÓN II INTERFACES GRÁFICAS DE USUARIO. Otoño de 2017 BUAP-FCC DR. MARIO ROSSAINZ LÓPEZ

Transparencias de Java. Tema 7: AWT. Uploaded by Ingteleco

Programación interactiva. Oscar Bedoya

Aplicaciones gráficas en Java Librería Swing

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Desarrollo de Aplicaciones en Java INF 473

O.K. Click en el botón

USO DE LOS OBJETOS JLABEL, JTEXTFIELD Y JBUTTON

Programación de sistemas

INSTRUCCIÓN PEDIR EN JAVA CON JTEXTAREA Y MOSTRAR CON JLABEL. SETBOUNDS Y SETTEXT. EJEMPLOS. (CU00929C)

Desarrollando aplicaciones mediante componentes

Estructura de las Aplicaciones Orientadas a Objetos El patrón Modelo-Vista-Controlador (MVC)

Interfaces de Usuario en Java

Tema 6. Interfaces gráficas de usuario (Parte II Componentes y eventos)

Examen de Programación II (Ingeniería Informática)

1.00 Clase 17. Introducción a la API de gráficos 2D de Java. Anuncios. Boletín de problemas 5: compruebe la web

Introducción a la programación orientada a objetos y al lenguaje JAVA Colegio Reuven Feuerstein --Javier Navarro

Práctica 4. Interfaces Gráficas de Usuario Duración 1 sesión

Laboratorio de Aplicaciones Telemáticas Ingeniería Técnica de Telecomunicación Especialidad en Telemática

02 de septiembre de de septiembre de 2013

OBJETOS CONTENEDORES JPANEL Y JSCROLLPANEL

ELO329: Diseño y Programación Orientados a Objetos 6 de Mayo 2015

1. Cómo hacer un applet? Implementación de un Applet (awt) Ejecución de los Applets Hacer el archivo HTML con los siguientes

USO DE LOS OBJETOS JLABEL, JTEXTFIELD Y JBUTTON

CALENDARIO AÑO 2016 PICO Y PLACA AUTOMOVILES SERVICIO ESPECIAL PICO Y PLACA TAXIS

CALENDARIO AÑO 2016 PICO Y PLACA AUTOMOVILES SERVICIO ESPECIAL PICO Y PLACA TAXIS

UNIDAD III.- Programación Concurrente

Programación de sistemas

Programa educativo Academia NOMBRE DE LA ASIGNATURA CLAVE DE LA ASIGNATURA PLAN DE ESTUDIOS. Paradigmas de programación IT0427 IT2010

Aplicaciones Java. Juan Manuel Fernández Peña Curso 2011, 2013

Interfases gráficas. Programación Orientada a Objetos.

Universidad de Guadalajara Centro Universitario de los Lagos

Federico Peinado

Swing. Andrés Marín López Jesús Arias Fisteus Laboratorio de Aplicaciones Telemáticas

GUÍA DE LABORATORIO 5 ARREGLOS DE UNA DIMENSIÓN

2.1 Elementos gráficos en Java.

ELO329: Diseño y Programación Orientados a Objetos 20 de Junio de Certamen Final

Introducción a las Interfaces Gráficas de Usuario en Java

UNIDAD I.- Elementos de Interfaces Gráficas

ELO329: Diseño y Programación Orientados a Objetos 10 de Mayo 2017

INGENIERÍA DEL SOFTWARE. 4º ING. INF. (UPV/EHU) 12/09/01

INSTALACION Y PRUEBA DEL PLUGIN WindowBuilder para trabajar Swing en Eclipse

Tema 7. Construcción de Applets en Java

import javax.swing.*; import javax.swing.event.*; import java.awt.*; import java.awt.event.*;

DESARROLLO DE SOFTWARE

Java GUI La librería Swing

INGRESAR DATOS CON UN CONTROL VISUAL EN JAVA. CLASE JTEXTFIELD Y MÉTODO GETTEXT. EJEMPLOS (CU00928C)

INTERFACES GRÁFICAS MTRA. CAROLINA GALAVIZ INZUNZA. Mtra. Carolina Galaviz Inzunza

Formato para prácticas de laboratorio

Transcripción:

Algoritmia y Programación Oscar Bedoya oscar.bedoya@correounivalle.edu.co http://eisc.univalle.edu.co/~oscarbed/algoritmia/

Cuántos botones se necesitan?

import javax.swing.*; import java.awt.*; import java.awt.event.*; public class TTT extends JFrame implements ActionListener{ Container contenedor; FlowLayout miflow; JLabel LGanador; JButton B1,B2,B3,B4,B5,B6,B7,B8,B9, BR; TTT(){ LGanador = new JLabel("GANADOR: Desconocido "); B1 = new JButton(" "); B2 = new JButton(" "); B3 = new JButton(" "); B4 = new JButton(" "); B5 = new JButton(" "); B6 = new JButton(" "); B7 = new JButton(" "); B8 = new JButton(" "); B9 = new JButton(" "); BR = new JButton(" Reiniciar juego "); contenedor = getcontentpane(); miflow = new FlowLayout(); contenedor.setlayout(miflow); B1.addActionListener(this); B2.addActionListener(this); B3.addActionListener(this); B4.addActionListener(this); B5.addActionListener(this); B6.addActionListener(this); B7.addActionListener(this); B8.addActionListener(this); B9.addActionListener(this); BR.addActionListener(this); contenedor.add(b1); contenedor.add(b2); contenedor.add(b3); contenedor.add(b4); contenedor.add(b5); contenedor.add(b6); contenedor.add(b7); contenedor.add(b8); contenedor.add(b9); contenedor.add(lganador); contenedor.add(br);} /TTT2.java

Cuando necesite agrupar un conjunto de elementos dentro de un JFrame, debe utilizar un JPanel JPanel que agrupa los botones

JPanel Encuesta.java

Elementos de una GUI: - JLabel - JTextField - JButton - Container - FlowLayout

Elementos de una GUI: - JLabel - JTextField - JButton - Container - FlowLayout Cada elemento se debe * Declarar * Crear

Elementos de una GUI: - JLabel - JTextField - JButton - Container - FlowLayout - JPanel

Elementos de una GUI: - JLabel - JTextField - JButton - Container - FlowLayout - JPanel Cómo declarar y crear un JPanel?

Panel (JPanel) Declarar un panel: JPanel panel1; Crear un panel: panel1 = new JPanel();

Panel (JPanel) Declarar un panel: JPanel panel1; Crear un panel: panel1 = new JPanel(); panel1 El panel permite que se agrupen algunos elementos de la ventana

panel1 panel2

Panel (JPanel) panel1 Declarar un panel: JPanel panel1, panel2; Crear un panel: panel1 = new JPanel(); panel2 = new JPanel(); panel2

Para organizar los componentes se pueden usar dos clases: - FlowLayout - GridLayout

Para organizar los componentes se pueden usar dos clases: - FlowLayout (Container) - GridLayout (JPanel)

GridLayout: permite organizar los elementos en una rejilla Rejilla o GridLayout de 3 filas y 3 columnas

GridLayout: permite organizar los elementos en una rejilla Rejilla o GridLayout de 3 filas y 3 columnas

GridLayout: permite organizar los elementos en una rejilla Cuáles deben ser las dimensiones de esta rejilla?

GridLayout: permite organizar los elementos en una rejilla Rejilla de 4 filas y 2 columnas

GridLayout: permite organizar los elementos en una rejilla Cuáles deben ser las dimensiones de esta rejilla?

GridLayout: permite organizar los elementos en una rejilla Rejilla de 1 fila y 2 columnas

GridLayout: permite organizar los elementos en una rejilla Cuáles deben ser las dimensiones de esta rejilla?

GridLayout: permite organizar los elementos en una rejilla Rejilla de 2 filas y 3 columnas

Panel (JPanel) Declarar un panel: JPanel panel1; Crear un panel: panel1 = new JPanel(); El panel permite que se agrupen algunos elementos de la ventana

Panel (JPanel) Declarar un panel: JPanel panel1; Crear un panel: panel1 = new JPanel(); Establecer el GridLayout: panel1.setlayout(new GridLayout(3,3)); Filas y columnas de la rejilla

Panel (JPanel) Declarar un panel: JPanel panel1; Crear un panel: panel1 = new JPanel(); Establecer el GridLayout: panel1.setlayout(new GridLayout(3,3)); Filas y columnas de la rejilla

Panel (JPanel) Declarar un panel: JPanel panel1; Crear un panel: panel1 = new JPanel(); Establecer el GridLayout: panel1.setlayout(new GridLayout(?,?));

Panel (JPanel) Declarar un panel: JPanel panel1; Crear un panel: panel1 = new JPanel(); Establecer el GridLayout: panel1.setlayout(new GridLayout(4,2));

Panel (JPanel) Declarar un panel: JPanel panel1; Crear un panel: panel1 = new JPanel(); Establecer el GridLayout: panel1.setlayout(new GridLayout(?,?));

Panel (JPanel) Declarar un panel: JPanel panel1; Crear un panel: panel1 = new JPanel(); Establecer el GridLayout: panel1.setlayout(new GridLayout(2,3));

Problema: Complete la declaración y creación de elementos de la siguiente GUI Declarar los elementos: Crear los elementos:

Declarar los elementos: JLabel? JTextField? JButton? JPanel? Container contenedor; FlowLayout miflow;

Declarar los elementos: JLabel LGanador; JButton B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,BR; JPanel panel1; Container contenedor; FlowLayout miflow;

Crear los elementos: LGanador=new JLabel( GANADOR: Desconocido ); B1=new JButton( ); B2=new JButton( ); B3=new JButton( ); B4=new JButton( ); B5=new JButton( ); B6=new JButton( ); B7=new JButton( ); B8=new JButton( ); B9=new JButton( ); B10=new JButton( ); BR=new JButton( Reiniciar juego );

Botón B1 Botón B2 Botón B3 Botón B4 Botón B5 Botón B6 Cómo colocar los botones en el JPanel? Botón B7 Botón B8 Botón B9

Crear los elementos: panel1 = new JPanel(); panel1.setlayout(new GridLayout(3,3));

Crear los elementos: panel1 = new JPanel(); panel1.setlayout(new GridLayout(3,3)); panel1.add(b1); panel1.add(b2); panel1.add(b3); panel1.add(b4); panel1.add(b5); panel1.add(b6); panel1.add(b7); panel1.add(b8); panel1.add(b9);

Crear los elementos: panel1 = new JPanel(); panel1.setlayout(new GridLayout(3,3)); panel1.add(b1); panel1.add(b2); panel1.add(b3); panel1.add(b4); panel1.add(b5); panel1.add(b6); panel1.add(b7); panel1.add(b8); panel1.add(b9); Se utiliza add() para adicionar los elementos al panel

Botón B1 Botón B2 Botón B3 Botón B4 Botón B5 Botón B6 Botón B7 Botón B8 Botón B9 panel1 = new JPanel(); panel1.setlayout(new GridLayout(3,3)); panel1.add(b1); panel1.add(b2); panel1.add(b3); panel1.add(b4); panel1.add(b5); panel1.add(b6); panel1.add(b7); panel1.add(b8); panel1.add(b9);

Se debe adicionar el panel1 al contenedor

contenedor.add(panel1); Se debe adicionar el panel1 al contenedor

Crear los elementos: panel1 = new JPanel(); panel1.setlayout(new GridLayout(3,3)); panel1.add(b1); panel1.add(b2); panel1.add(b3); panel1.add(b4); panel1.add(b5); panel1.add(b6); panel1.add(b7); panel1.add(b8); panel1.add(b9); contenedor.add(panel1);

panel1 = new JPanel(); panel1.setlayout(new GridLayout(3,3)); panel1.add(b1); panel1.add(b2); panel1.add(b3); panel1.add(b4); panel1.add(b5); panel1.add(b6); panel1.add(b7); panel1.add(b8); panel1.add(b9); contenedor.add(panel1); contenedor.add(lganador); contenedor.add(br);

panel1 = new JPanel(); panel1.setlayout(new GridLayout(3,3)); panel1.add(b1); panel1.add(b2); panel1.add(b3); panel1.add(b4); panel1.add(b5); panel1.add(b6); panel1.add(b7); panel1.add(b8); panel1.add(b9); contenedor.add(panel1); contenedor.add(lganador); contenedor.add(br); *TTT.java

Problema: Complete la declaración y creación de los paneles panel1 con rejilla de 4 filas y 2 columnas panel2 con rejilla de 1 fila y 2 columnas *Encuesta.java

Problema: Complete la declaración y creación de los paneles LNombre LCodigo LSexo LCarrera BIngresar TFNombre TFCodigo TFSexo TFCarrera BPregunta1

LNombre LCodigo LSexo LCarrera BIngresar TFNombre TFCodigo TFSexo TFCarrera BPregunta1 panel1 = new JPanel(); panel1.setlayout(new GridLayout(?,?)); panel1.add(?);... panel2 = new JPanel(); panel2.setlayout(new GridLayout(?,?)); panel2.add(?);... Encuesta.java

Problema: presente el oyente de tal forma que se calculen 3 datos: el total a pagar (DVD a $23000 y Blu-ray a $65000), el IVA y la ganancia neta (total-iva) JButton (BCalcular) JTextField (TFDVD) JTextField (TFBluray) JTextField (TFValor) JTextField (TFIVA) JTextField (TFGanancia) VentaPeliculas.java

public void actionperformed(actionevent e){ if (e.getsource()==bcalcular){ } } DVD $23000 Blu-ray $65000 JButton (BCalcular) JTextField (TFDVD) JTextField (TFBluray) JTextField (TFValor) JTextField (TFIVA) JTextField (TFGanancia)

public void actionperformed(actionevent e){ if (e.getsource()==bcalcular){ int dvd, bluray, valor; double iva, ganancia; dvd=integer.parseint(tfdvd.gettext()); bluray=integer.parseint(tfbluray.gettext()); valor = dvd*23000 + bluray*65000; iva = valor * 0.16; ganacia = valor iva; TFValor.setText(String.valueOf(valor)); TFIVA.setText(String.valueOf(iva)); TFGanancia.setText(String.valueOf(ganancia)); } }

Operaciones matemáticas: double a,b,c,d,e; a = Math.sin(45); b = Math.cos(90); c = Math.tan(37); d = Math.pow(3,5); e = Math.sqrt(5);

Problema: presente el oyente de tal forma que se puedan calcular 3 valores: sin(x), cos(x) y raiz(x). El valor se debe mostrar en el campo de texto TFResultado JTextField (TFx) JTextField (TFResultado) ProgramaMath.java

public void actionperformed(actionevent e){ if (e.getsource()==bsin){ } if (e.getsource()==bcos){ } if (e.getsource()==braiz){ } } JTextField (TFx) JTextField (TFResultado)

public void actionperformed(actionevent e){ if (e.getsource()==bsin){ } } JTextField (TFx) JTextField (TFResultado)

public void actionperformed(actionevent e){ if (e.getsource()==bsin){ int x; double sen; x=integer.parseint(tfx.gettext()); sen = Math.sin(x); TFResultado.setText(String.valueOf(sen)); } } JTextField (TFx) JTextField (TFResultado)

Problema: presente el oyente de tal forma que se pueda calcular la distancia euclidiana entre dos puntos (x 1,y 1 ) y 2 2 (x 2,y 2 ), definida como d ( x x ) ( y y 2 1 2 1) JTextField (TFx1) JTextField (TFx2) JButton (BDistancia) JTextField (TFy1) JTextField (TFy2) JTextField (TFResultado) Distancia.java

public void actionperformed(actionevent e){ if (e.getsource()==bdistancia){ } } JTextField (TFx1) JTextField (TFx2) JButton (BDistancia) JTextField (TFy1) JTextField (TFy2) JTextField (TFResultado)

public void actionperformed(actionevent e){ if (e.getsource()==bdistancia){ int x1,y1,x2,y2; double d; x1 = Integer.parseInt(TFx1.getText()); y1 = Integer.parseInt(TFy1.getText()); x2 = Integer.parseInt(TFx2.getText()); y2 = Integer.parseInt(TFy2.getText()); d = Math.sqrt( (x2-x1)*(x2-x1) + (y2-y1)*(y2-y1) ); TFResultado.setText(String.valueOf(d)); } }

Problema: presente el oyente de tal forma que se pueda hacer la traducción de 5 palabras de español a inglés JButton (BTraducir) JTextField (TFEspañol) JTextField (TFTraduccion) Traductor.java

public void actionperformed(actionevent e){ if (e.getsource()==btraducir){ } } JButton (BTraducir) JTextField (TFEspañol) JTextField (TFTraduccion)

public void actionperformed(actionevent e){ if (e.getsource()==btraducir){ String palabra, traduccion; palabra = TFEspañol.getText(); if (palabra.equals( Raton )){ traduccion = Mouse ; } if (palabra.equals( Profesor )){ traduccion = Teacher ; } TFTraduccion.setText(traduccion); } }

Problema: presente el oyente de tal forma que se calcule el valor de la llamada JTextField (TFOperador) JTextField (TFDuracion) JButton (BCalcular) JTextField (TFValor) Minutos.java

El valor de la llamada se calcula de acuerdo al operador teniendo en cuenta los valores que se muestran en la siguiente tabla:

public void actionperformed(actionevent e){ if (e.getsource()==bcalcular){ } } JTextField (TFOperador) JTextField (TFDuracion) JButton (BCalcular) JTextField (TFValor)

public void actionperformed(actionevent e){ if (e.getsource()==bcalcular){ String operador; int duracion, valor; operador=tfoperador.gettext(); duracion=integer.parseint(tfduracion.gettext()); if (operador.equals( Tigo )){ valor = duracion*150; }... TFValor.setText(String.valueOf(valor)); } }

Problema: presente el oyente de tal forma que se calculen 2 datos: el total a pagar y el valor correspondiente al pago del seguro Button (BCalcular) JTextField (TFEdad) JTextField (TFSexo) JTextField (TFMeses) JTextField (TFValor) JTextField (TFSeguro) Gimnasio.java

El valor de la mensualidad se calcula usando la siguiente tabla El pago del seguro es el 8% del total a pagar

public void actionperformed(actionevent e){ if (e.getsource()==bcalcular){ } } Button (BCalcular) JTextField (TFEdad) JTextField (TFSexo) JTextField (TFMeses) JTextField (TFValor) JTextField (TFSeguro)

public void actionperformed(actionevent e){ if (e.getsource()==bcalcular){ int edad, mensualidad, meses; String sexo; double seguro; edad=integer.parseint(tfedad.gettext()); sexo=tfsexo.gettext(); meses=integer.parseint(tfmeses.gettext()); if (edad<18 && sexo.equals( Masculino )){ mensualidad = meses*32000; seguro = mensualidad*0.08; }... TFValor.setText(String.valueOf(mensualidad)); TFSeguro.setText(String.valueOf(seguro)); } }

Problema: presente el oyente de tal forma que se calculen 2 datos: la categoría y el valor a pagar Button (BCalcular) JTextField (TFEdad) JTextField (TFMeses) JTextField (TFCategoria JTextField (TFValor) Tenis.java

La categoría y el valor del mes dependen de la edad y se calculan usando la siguiente tabla

public void actionperformed(actionevent e){ if (e.getsource()==bcalcular){ } } Button (BCalcular) JTextField (TFEdad) JTextField (TFMeses) JTextField (TFCategoria JTextField (TFValor)

public void actionperformed(actionevent e){ if (e.getsource()==bcalcular){ int edad, meses, valor; String categoria; edad=integer.parseint(tfedad.gettext()); meses=integer.parseint(tfmeses.gettext()); if (edad<12){ categoria = Infantil ; valor = meses * 43000; }... TFCategoria.setText(categoria); TFValor.setText(String.valueOf(valor)); } }

Actividad Entrega del proyecto Sustentación Laboratorio 5 Parcial2 Opcional2 Viernes 15 de Junio Fecha Hasta el Vienes 22 de Junio (Martes y Jueves de 8:00 a 12:00 y de 2:00 a 4:30), Viernes de 8:00 a 11:30 Viernes 22 de Junio Lunes 25 de Junio Sábado 30 de Junio