Programación interactiva. Oscar Bedoya

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Programación interactiva. Oscar Bedoya"

Transcripción

1 Programación interactiva Oscar Bedoya

2 Interfaces gráficas con Java Swing

3 Una interfaz gráfica con el usuario (GUI) es un mecanismo incorporado en las aplicaciones para hacer más amigable y entendible la interacción con el usuario Las GUIs se crean a partir de componentes, éstos permiten que el usuario interactúe mediante el ratón, teclado y otras formas de entrada.

4 Estructura de las aplicaciones GUI Declarar una clase que herede de la superclase JFrame Declarar cada componente que hará parte de la GUI Dentro del método constructor, crear y organizar los componentes Declarar el método main

5 Estructura de las aplicaciones GUI Declarar una clase que herede de la superclase JFrame Declarar cada componente que hará parte de la GUI Dentro del método constructor, crear y organizar los componentes Declarar el método main

6 JFrame Clase Clase() main()

7 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class GUI extends JFrame { public GUI() { super( "Título de la GUI" ); Container contenedor = getcontentpane(); contenedor.setlayout( new FlowLayout() ); setsize( 275, 170 ); setvisible( true ); public static void main( String a[] ) { GUI aplicacion = new GUI(); aplicacion.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE );

8 JFrame GUI GUI() main()

9 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class GUI extends JFrame { Toda GUI debe heredar de la clase JFrame public GUI() { super( "Título de la GUI" ); Container contenedor = getcontentpane(); contenedor.setlayout( new FlowLayout() ); setsize( 275, 170 ); setvisible( true ); public static void main( String a[] ) { GUI aplicacion = new GUI(); aplicacion.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE );

10 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class GUI extends JFrame { public GUI() { super( "Título de la GUI" ); Container contenedor = getcontentpane(); contenedor.setlayout( new FlowLayout() ); setsize( 275, 170 ); setvisible( true ); Se debe DECLARAR cada componente que hará parte de la GUI public static void main( String a[] ) { GUI aplicacion = new GUI(); aplicacion.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE );

11 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class GUI extends JFrame { public GUI() { super( "Título de la GUI" ); Container contenedor = getcontentpane(); contenedor.setlayout( new FlowLayout() ); setsize( 275, 170 ); setvisible( true ); Método constructor CREAR cada componente y organizarlo de acuerdo a lo que se requiere public static void main( String a[] ) { GUI aplicacion = new GUI(); aplicacion.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE );

12 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class GUI extends JFrame { public GUI() { super( "Título de la GUI" ); Container contenedor = getcontentpane(); contenedor.setlayout( new FlowLayout() ); setsize( 275, 170 ); setvisible( true ); public static void main( String a[] ) { GUI aplicacion = new GUI(); Se crea un objeto de la aplicación aplicacion.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE);

13 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class GUI extends JFrame { public GUI() { super( "Título de la GUI" ); Container contenedor = getcontentpane(); contenedor.setlayout( new FlowLayout() ); setsize( 275, 170 ); setvisible( true ); Método constructor Establecer el título de la ventana public static void main( String a[] ) { GUI aplicacion = new GUI(); aplicacion.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE );

14 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class GUI extends JFrame { public GUI() { super( "Título de la GUI" ); Container contenedor = getcontentpane(); contenedor.setlayout( new FlowLayout() ); setsize( 275, 170 ); setvisible( true ); Crear el contenedor. Es el espacio que mantiene el contenido de la ventana public static void main( String a[] ) { GUI aplicacion = new GUI(); aplicacion.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE );

15 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class GUI extends JFrame { public GUI() { super( "Título de la GUI" ); Container contenedor = getcontentpane(); contenedor.setlayout( new FlowLayout() ); setsize( 275, 170 ); setvisible( true ); Crear el contenedor. Es el espacio que mantiene el contenido de la ventana public static void main( String a[] ) { GUI aplicacion = new GUI(); aplicacion.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE );

16 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class GUI extends JFrame { public GUI() { super( "Título de la GUI" ); Container contenedor = getcontentpane(); contenedor.setlayout( new FlowLayout() ); setsize( 275, 170 ); setvisible( true ); Crear el contenedor. Es el espacio que mantiene el contenido de la ventana public static void main( String a[] ) { GUI aplicacion = new GUI(); aplicacion.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); Contenedor

17 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class GUI extends JFrame { public GUI() { super( "Título de la GUI" ); Container contenedor = getcontentpane(); contenedor.setlayout( new FlowLayout() ); setsize( 275, 170 ); setvisible( true ); Se establecen las dimensiones de la ventana public static void main( String a[] ) { GUI aplicacion = new GUI(); aplicacion.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE );

18 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class GUI extends JFrame { public GUI() { super( "Título de la GUI" ); Container contenedor = getcontentpane(); contenedor.setlayout( new FlowLayout() ); setsize( 275, 170 ); setvisible( true ); Algunos componentes que se pueden agregar al contenedor: JLabel JButton JTextField JCheckButtton JRadioButton JList public static void main( String a[] ) { GUI aplicacion = new GUI(); aplicacion.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE);

19 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class GUI extends JFrame { public GUI() { super( "Título de la GUI" ); Container contenedor = getcontentpane(); contenedor.setlayout( new FlowLayout() ); setsize( 275, 170 ); setvisible( true ); Declarar Crear y organizar Algunos componentes que se pueden agregar al contenedor: JLabel JButton JTextField JCheckButtton JRadioButton JList public static void main( String a[] ) { GUI aplicacion = new GUI(); aplicacion.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE);

20 JLabel (Etiqueta) Las etiquetas son componentes que permiten mostrar un mensaje, en texto o gráfico, de tal manera que el usuario tenga una idea más clara de cómo interactuar con la aplicación Etiqueta Etiqueta

21

22 JLabel (Etiqueta) Declarar la etiqueta private JLabel etiqueta1; Crear la etiqueta Se tienen varias formas etiqueta1=new JLabel( Texto de la etiqueta ); contenedor.add(etiqueta1);

23 JLabel (Etiqueta) Declarar la etiqueta private JLabel etiqueta1; Crear la etiqueta Se tienen varias formas etiqueta1=new JLabel( Texto de la etiqueta ); contenedor.add(etiqueta1); contenedor.add(etiqueta1); Inicialmente el contenedor está vacío

24 JLabel (Etiqueta) Declarar la etiqueta private JLabel etiqueta1; Crear la etiqueta Se tienen varias formas etiqueta1=new JLabel( Texto de la etiqueta ); etiqueta1.settooltiptext( "Esta es la etiqueta 1" ); contenedor.add(etiqueta1);

25 JLabel (Etiqueta) Declarar la etiqueta private JLabel etiqueta1; Crear la etiqueta Se tienen varias formas etiqueta1=new JLabel( Texto de la etiqueta ); etiqueta1.settooltiptext( "Esta es la etiqueta 1" ); contenedor.add(etiqueta1); El método settooltiptext permite establecer el texto que se mostrará en caso de que el usuario pase el mouse por encima de la etiqueta

26 JLabel (Etiqueta) Declarar la etiqueta private JLabel etiqueta1; Crear la etiqueta Se tienen varias formas etiqueta1=new JLabel( Texto de la etiqueta ); etiqueta1.settooltiptext( "Esta es la etiqueta 1" ); contenedor.add(etiqueta1);

27 Otra forma consiste en crear una etiqueta con icono Icon imagen = new ImageIcon( "image1.gif" ); etiqueta2 = new JLabel( "Etiqueta con texto e icono ); etiqueta2.seticon(imagen); etiqueta2.sethorizontaltextposition(swingconstants.right); etiqueta2.settooltiptext( "Esta es la etiqueta2" ); contenedor.add( etiqueta2 );

28 Otra forma consiste en crear una etiqueta con icono Icon imagen = new ImageIcon( "image1.gif" ); etiqueta2 = new JLabel( "Etiqueta con texto e icono ); etiqueta2.seticon(imagen); etiqueta2.sethorizontaltextposition(swingconstants.right); etiqueta2.settooltiptext( "Esta es la etiqueta2" ); contenedor.add( etiqueta2 );

29 Otra forma etiqueta3 = new JLabel(); etiqueta3.settext( "Etiqueta con icono y texto en parte inferior" ); etiqueta3.seticon( imagen ); etiqueta3.setverticaltextposition( SwingConstants.BOTTOM ); etiqueta3.settooltiptext( "Esta es la etiqueta3" ); contenedor.add( etiqueta3 );

30 Otra forma etiqueta3 = new JLabel(); etiqueta3.settext( "Etiqueta con icono y texto en parte inferior" ); etiqueta3.seticon( imagen ); etiqueta3.setverticaltextposition( SwingConstants.BOTTOM ); etiqueta3.settooltiptext( "Esta es la etiqueta3" ); contenedor.add( etiqueta3 ); El texto debe aparecer debajo del icono

31 Otra forma etiqueta3 = new JLabel(); etiqueta3.settext( "Etiqueta con icono y texto en parte inferior" ); etiqueta3.seticon( imagen ); etiqueta3.setverticaltextposition( SwingConstants.BOTTOM ); etiqueta3.settooltiptext( "Esta es la etiqueta3" ); contenedor.add( etiqueta3 ); Las constantes de posición horizontal en SwingConstants son: LEFT, CENTER, RIGHT y en la posición vertical son TOP, CENTER, BOTTOM

32 Otra forma etiqueta3 = new JLabel(); etiqueta3.settext( "Etiqueta con icono y texto en parte inferior" ); etiqueta3.seticon( imagen ); etiqueta3.setverticaltextposition( SwingConstants.BOTTOM ); etiqueta3.settooltiptext( "Esta es la etiqueta3" ); contenedor.add( etiqueta3 ); PruebaEtiqueta

33 Métodos setfont y setforeground etiqueta3 = new JLabel(); etiqueta3.settext( "Etiqueta con icono y texto en parte inferior" ); etiqueta3.seticon( imagen ); etiqueta3.setfont(new Font("Arial", Font.BOLD, 14)); etiqueta3.setforeground(color.black); Se puede cambiar el tipo de fuente, tamaño y color

34 JTextField y JPasswordField (Campos de texto) Los JTextField son áreas de una sola línea en las que el usuario puede introducir texto mediante el teclado o bien, el programa puede mostrar un resultado Campo de texto en el que el programa muestra un resultado Campo de texto en el que el usuario ingresa datos

35 JTextField y JPasswordField (Campos de texto) Los JPasswordField son áreas en los que el texto se representa con simbolos * para ocultarlo de otros usuarios JTextField JPasswordField

36 JTextField (Campo de texto) Declarar el campo private JTextField campotexto1; Crear el campo Se tienen varias formas campotexto1=new JTextField(10); contenedor.add(campotexto1);

37 JTextField (Campo de texto) Declarar el campo private JTextField campotexto1; Crear el campo Se tienen varias formas campotexto1=new JTextField(10); contenedor.add(campotexto1); Crea un campo de texto con 10 columnas

38 JTextField (Campo de texto) Declarar el campo private JTextField campotexto2; Crear el campo Se tienen varias formas campotexto2=new JTextField( Escriba el texto aquí ); contenedor.add(campotexto2);

39 JTextField (Campo de texto) Declarar el campo private JTextField campotexto2; Crear el campo Se tienen varias formas campotexto2=new JTextField( Escriba el texto aquí ); contenedor.add(campotexto2); Crea un campo de texto con texto predeterminado. El tamaño del campo estará dado por la longitud del mensaje

40 JTextField (Campo de texto) Declarar el campo private JTextField campotexto2; Crear el campo Se tienen varias formas campotexto2=new JTextField( Escriba el texto aquí,20); contenedor.add(campotexto2); Cuando se crea un campo de texto con texto predeterminado, el tamaño del campo queda determinado por la longitud del mensaje, si se quiere establecer un valor diferente se puede utilizar este constructor

41 JTextField (Campo de texto) Declarar el campo private JTextField campotexto3; Crear el campo Se tienen varias formas campotexto3=new JTextField( Campo de texto no editable,20); campotexto3.seteditable(false); contenedor.add(campotexto3);

42 JTextField (Campo de texto) Declarar el campo private JTextField campotexto3; Crear el campo Se tienen varias formas campotexto3=new JTextField( Campo de texto no editable,20); campotexto3.seteditable(false); contenedor.add(campotexto3); Crea un campo de texto no editable, es decir, no se puede cambiar su contenido hasta que se ejecute el comando campotexto3.seteditable(true);

43 JPasswordField Declarar el campo private JPasswordField campocontraseña; Crear el campo Se tienen los mismos constructores que para JTextField campocontraseña=new JPasswordField(6); contenedor.add(campocontraseña); Crea un campo para contraseña

44 Eventos y metáfora del oyente Java utiliza la metáfora del oyente para indicar que cualquier GUI está escuchando continuamente que suceda un evento Los eventos que pueden ocurrir en una GUI son: Hacer clic sobre un botón Completar un campo de texto y hacer clic Hacer clic sobre una opción de un menú Ejecutar un comando con teclado

45 Eventos y metáfora del oyente Los oyentes se han clasificado de acuerdo al componente que genera los eventos y se tienen interfaces que ayudan a manejar tales eventos ActionListener MouseListener ItemListener KeyListener

46 Tipo de evento ActionEvent MouseEvent KeyEvent ItemEvent Interfaz ActionListener MouseListener, MouseMotionListener KeyListener ItemListener

47 Eventos y metáfora del oyente Cada componente que pueda generar un evento, debe tener un manejador que indique las acciones que deben ocurrir si se genera un evento

48 JTextField y JPasswordField (Campos de texto) Los campos de texto, a diferencia de las etiquetas, generan eventos!!! Cuando se escribe en el campo de texto y se da Enter, se genera un evento Concepto de FOCO: es el componente de la GUI que está actualmente siendo utilizado, cuando un campo de texto genera un evento, se dice que tiene el foco

49 Recuerde los oyentes (interfaces) ActionListener MouseListener ItemListener KeyListener Entre estos, un campo de texto genera un evento de acción (ActionEvent) Utilizar un objeto manejador de una clase que implemente la interfaz ActionListener!!!

50 Algunos métodos de las clases JTextField y JPasswordField Método settext(mensaje) gettext() addactionlistener(manejador) Descripción Permite colocar un mensaje de tipo String en el campo Permite obtener el valor escrito en el campo Adicionar el manejador de eventos al campo. El manejador es un objeto de una clase que implemente la interfaz ActionListener

51 Para que una aplicación pueda capturar los eventos que allí se generen debe: -Crear la clase que implemente la interfaz -Crear un objeto de esa clase (manejador) -Registrar el manejador en cada componente que pueda generar un evento del tipo considerado en la interfaz

52 private class ManejadorCampoTexto implements ActionListener { public void actionperformed( ActionEvent evento ) { if ( evento.getsource() == campotexto1 ) { //Instrucciones que se deben ejecutar si la fuente del evento fue el campotexto1 // fin del método actionperformed // fin de la clase interna privada ManejadorCampoTexto

53 private class ManejadorCampoTexto implements ActionListener { public void actionperformed( ActionEvent evento ) { La clase ManejadorCampoTexto implementa ActionListener if ( evento.getsource() == campotexto1 ) { //Instrucciones que se deben ejecutar si la fuente del evento fue el campotexto1 // fin del método actionperformed // fin de la clase interna privada ManejadorCampoTexto

54 private class ManejadorCampoTexto implements ActionListener { public void actionperformed( ActionEvent evento ) { Método que maneja un evento ActionEvent if ( evento.getsource() == campotexto1 ) { //Instrucciones que se deben ejecutar si la fuente del evento fue el campotexto1 // fin del método actionperformed // fin de la clase interna privada ManejadorCampoTexto

55 private class ManejadorCampoTexto implements ActionListener { public void actionperformed( ActionEvent evento ) { if ( evento.getsource() == campotexto1 ) { Si la fuente del evento es el campotexto1 //Instrucciones que se deben ejecutar si la fuente del evento fue el campotexto1 // fin del método actionperformed // fin de la clase interna privada ManejadorCampoTexto

56 private class ManejadorCampoTexto implements ActionListener { public void actionperformed( ActionEvent evento ) { if ( evento.getsource() == campotexto1 ) { //Instrucciones que se deben ejecutar si la fuente del evento fue el campotexto1 if ( evento.getsource() == campotexto2 ) { //Instrucciones que se deben ejecutar si la fuente del evento fue el campotexto2 // fin del método actionperformed // fin de la clase interna privada ManejadorCampoTexto

57 Para que una aplicación pueda capturar los eventos que allí se generen debe: Crear la clase que implemente la interfaz Se puede colocar en el mismo archivo de la GUI Crear un objeto de esa clase (manejador) ManejadorCampoTexto manejador = new ManejadorCampoTexto(); Registrar el manejador en cada componente que pueda generar un evento del tipo considerado en la interfaz campotexto1.addactionlistener( manejador ); campotexto2.addactionlistener( manejador ); campotexto3.addactionlistener( manejador ); campocontraseña.addactionlistener( manejador );

58 Para que una aplicación pueda capturar los eventos que alli se generen debe: Crear la clase que implemente la interfaz Se puede colocar en el mismo archivo de la GUI Crear un objeto de esa clase (manejador) ManejadorCampoTexto manejador = new ManejadorCampoTexto(); Registrar el manejador en cada componente que pueda generar un evento del tipo considerado en la interfaz campotexto1.addactionlistener( manejador ); campotexto2.addactionlistener( manejador ); campotexto3.addactionlistener( manejador ); campocontraseña.addactionlistener( manejador ); PruebaCampoTexto

59 Problema: Desarrolle un traductor Español Inglés con dos campos de texto, de tal forma que cuando se escriba un palabra en uno de los campos y se de enter, aparezca la traducción en el otro campo de texto. Se deben considerar 5 palabras.

60 Problema: Desarrolle una GUI con una etiqueta y un campo de texto. El contenido inicial de la etiqueta es el número 0. Cada vez que se de enter en el campo, se mostrará en la etiqueta la cantidad de veces que esto ha ocurrido. Utilice tamaño 40 para el texto en la etiqueta.

61 Problema: Desarrolle una GUI con una etiqueta y un campo de texto. El contenido inicial de la etiqueta es el número 0. Cada vez que se de enter en el campo, se mostrará en la etiqueta la cantidad de veces que esto ha ocurrido. Utilice tamaño 40 para el texto en la etiqueta. String.valueOf( int var ) : convierte un entero a String

62 JButton (Botón) Es un componente en el que el usuario hace clic para desencadenar cierta acción Un programa puede utilizar varios tipos de botones -Botones de comando -Casillas de verificación -Botones interruptores -Botones de opción

63

64 JButton (Botón) Declarar el botón private JButton botonsimple; Crear el campo Se tienen varias formas botonsimple=new JButton( Botón simple ); contenedor.add(botonsimple);

65 JButton (Botón) Declarar el botón private JButton botonsimple; Crear el campo Se tienen varias formas botonsimple=new JButton( Botón simple ); contenedor.add(botonsimple); Botón que solo tiene texto

66 JButton (Botón) Declarar el botón private JButton botonsimple; Crear el campo Se tienen varias formas Icon image1 = new ImageIcon( "image6.gif" ); Icon image2 = new ImageIcon( "image7.gif" ); botonelegante = new JButton( "Botón elegante", image1 ); botonelegante.setrollovericon( image2 ); botonelegante.settooltiptext( "Muestra un mensaje" ); botonelegante.setmnemonic('m'); contenedor.add( botonelegante );

67 JButton (Botón) Declarar el botón private JButton botonsimple; Crear el campo Se tienen varias formas Icon image1 = new ImageIcon( "image6.gif" ); Icon image2 = new ImageIcon( "image7.gif" ); botonelegante = new JButton( "Botón elegante", image1 ); botonelegante.setrollovericon( image2 ); botonelegante.settooltiptext( "Muestra un mensaje" ); botonelegante.setmnemonic('m'); contenedor.add( botonelegante ); Imagen inicial del botón

68 JButton (Botón) Declarar el botón private JButton botonsimple; Crear el campo Se tienen varias formas Icon image1 = new ImageIcon( "image6.gif" ); Icon image2 = new ImageIcon( "image7.gif" ); botonelegante = new JButton( "Botón elegante", image1 ); botonelegante.setrollovericon( image2 ); botonelegante.settooltiptext( "Muestra un mensaje" ); botonelegante.setmnemonic('m'); contenedor.add( botonelegante ); Imagen cuando se pase el mouse por encima del botón

69 JButton (Botón) Declarar el botón private JButton botonsimple; Crear el campo Se tienen varias formas Icon image1 = new ImageIcon( "image6.gif" ); Icon image2 = new ImageIcon( "image7.gif" ); botonelegante = new JButton( "Botón elegante", image1 ); botonelegante.setrollovericon( image2 ); botonelegante.settooltiptext( "Muestra un mensaje" ); botonelegante.setmnemonic('m'); contenedor.add( botonelegante ); Un nemómico es un atajo con teclado

70 Se tienen varias formas Icon image1 = new ImageIcon( "image6.gif" ); Icon image2 = new ImageIcon( "image7.gif" ); botonelegante = new JButton( "Botón elegante", image1 ); botonelegante.setrollovericon( image2 ); botonelegante.settooltiptext( "Muestra un mensaje" ); botonelegante.setmnemonic('m'); contenedor.add( botonelegante ); Botón inicial Botón cuando se pasa el mouse por encima

71 JButton (Botón) Un botón (de comando) genera un evento ActionEvent cuando el usuario hace clic en él Utilizar un objeto manejador de una clase que implemente la interfaz ActionListener!!!

72 private class ManejadorBoton implements ActionListener { // manejar evento de botón public void actionperformed( ActionEvent evento ) { if (evento.getsource()==botonsimple) JOptionPane.showMessageDialog( null, "Usted oprimió el boton simple"); if (evento.getsource()==botonelegante) JOptionPane.showMessageDialog( null, "Usted oprimió el boton elegante"); // fin de la clase interna privada ManejadorBoton

73 private class ManejadorBoton implements ActionListener { // manejar evento de botón public void actionperformed( ActionEvent evento ) { if (evento.getsource()==botonsimple) JOptionPane.showMessageDialog( null, "Usted oprimió el boton simple"); if (evento.getsource()==botonelegante) JOptionPane.showMessageDialog( null, "Usted oprimió el boton elegante"); // fin de la clase interna privada ManejadorBoton PruebaBoton

74 Problema: Modifique la GUI anterior de tal manera que se indique la cantidad de veces que se ha oprimido cada botón

75 JButton (Botón) Método setenabled() Permite habilitar o deshabilitar un botón nombreboton.setenabled(false); Deshabilita el botón, no ejecuta el oyente

76 JButton (Botón) Método setenabled() Permite habilitar o deshabilitar un botón nombreboton.setenabled(false); Deshabilita el botón, no ejecuta el oyente PruebaBoton2

77 Problema: Desarrolle una GUI que tenga dos botones. Inicialmente uno de los dos está deshabilitado pero se puede habilitar si se hace clic en el segundo botón. Si esto ocurre, el botón dos se deshabilita y solo se podrá habilitar si se hace clic en el botón uno.

78 Problema: Desarrolle el traductor con botones. Un botón para traducir a inglés y otro para alemán

79 JCheckBox (Casilla de verificación) En un checkbox, se tienen varias casillas, se pueden marcar todas

80 JCheckBox (Casilla de verificacion) Un ChekBox genera un evento ItemEvent cuando el usuario hace clic en él Utilizar un objeto manejador de una clase que implemente la interfaz ItemListener!!!

81 JChekbox (Casilla de verificación) Declarar private JChekBox negrita, cursiva; Crear negrita = new JCheckBox( "Negrita" ); contenedor.add( negrita ); cursiva = new JCheckBox( "Cursiva" ); contenedor.add( cursiva );

82 JChekbox (Casilla de verificacion) Declarar private JChekBox negrita, cursiva; Crear negrita = new JCheckBox( "Negrita" ); contenedor.add( negrita ); cursiva = new JCheckBox( "Cursiva" ); contenedor.add( cursiva ); ManejadorCasillaVerificacion manejador = new ManejadorCasillaVerificacion(); negrita.additemlistener( manejador ); cursiva.additemlistener( manejador ); Se adiciona el manejador, un objeto de una clase que implementa la interfaz ItemListener, por medio del método additemlistener

83 private class ManejadorCasillaVerificacion implements ItemListener { private int valnegrita = Font.PLAIN; private int valcursiva = Font.PLAIN; // responder a eventos de casilla de verificación public void itemstatechanged( ItemEvent evento ) { // procesar eventos de casilla de verificación negrita if ( evento.getsource() == negrita ) valnegrita = negrita.isselected()? Font.BOLD : Font.PLAIN; // procesar eventos de casilla de verificación cursiva if ( evento.getsource() == cursiva ) valcursiva = cursiva.isselected()? Font.ITALIC : Font.PLAIN; // establecer tipo de letra del campo de texto campo.setfont( new Font( "Serif", valnegrita + valcursiva, 14 ) ); // fin del método itemstatechanged // fin de la clase interna privada ManejadorCasillaVerificacion

84 private class ManejadorCasillaVerificacion implements ItemListener { Se implementa la interfaz ItemListener private int valnegrita = Font.PLAIN; private int valcursiva = Font.PLAIN; // responder a eventos de casilla de verificación public void itemstatechanged( ItemEvent evento ) { // procesar eventos de casilla de verificación negrita if ( evento.getsource() == negrita ) valnegrita = negrita.isselected()? Font.BOLD : Font.PLAIN; // procesar eventos de casilla de verificación cursiva if ( evento.getsource() == cursiva ) valcursiva = cursiva.isselected()? Font.ITALIC : Font.PLAIN; // establecer tipo de letra del campo de texto campo.setfont( new Font( "Serif", valnegrita + valcursiva, 14 ) ); // fin del método itemstatechanged // fin de la clase interna privada ManejadorCasillaVerificacion

85 private class ManejadorCasillaVerificacion implements ItemListener { private int valnegrita = Font.PLAIN; private int valcursiva = Font.PLAIN; // responder a eventos de casilla de verificación public void itemstatechanged( ItemEvent evento ) { // procesar eventos de casilla de verificación negrita if ( evento.getsource() == negrita ) valnegrita = negrita.isselected()? Font.BOLD : Font.PLAIN; El evento ItemEvent se maneja por medio del método itemstatechanged // procesar eventos de casilla de verificación cursiva if ( evento.getsource() == cursiva ) valcursiva = cursiva.isselected()? Font.ITALIC : Font.PLAIN; // establecer tipo de letra del campo de texto campo.setfont( new Font( "Serif", valnegrita + valcursiva, 14 ) ); // fin del método itemstatechanged // fin de la clase interna privada ManejadorCasillaVerificacion

86 private class ManejadorCasillaVerificacion implements ItemListener { private int valnegrita = Font.PLAIN; private int valcursiva = Font.PLAIN; // responder a eventos de casilla de verificación public void itemstatechanged( ItemEvent evento ) { // procesar eventos de casilla de verificación negrita if ( evento.getsource() == negrita ) valnegrita = negrita.isselected()? Font.BOLD : Font.PLAIN; // procesar eventos de casilla de verificación cursiva if ( evento.getsource() == cursiva ) valcursiva = cursiva.isselected()? Font.ITALIC : Font.PLAIN; // establecer tipo de letra del campo de texto campo.setfont( new Font( "Serif", valnegrita + valcursiva, 14 ) ); // fin del método itemstatechanged PruebaCasillaVerificacion // fin de la clase interna privada ManejadorCasillaVerificacion

87 JRadioButton (Botones de opción) En un RadioButton, solo una de las opciones se puede seleccionar al tiempo

88 JRadioButton (Botones de opción) Un RadioButton genera un evento ItemEvent cuando el usuario hace clic en él Utilizar un objeto manejador de una clase que implemente la interfaz ItemListener!!!

89 JRadioButton (Botones de opción) Declarar private JRadioButton botonsimple, botonnegrita private ButtonGruop grupobotonesopcion; Como existe una relación entre los botones (no se puede seleccionar más de un botón al tiempo), se debe agrupar en un componente ButtonGroup Después de crear cada RadioButton, se deben adicionar a un único ButtonGroup

90 JRadioButton (Botones de opción) Crear botonsimple = new JRadioButton( "Simple", true ); contenedor.add( botonsimple ); botonnegrita = new JRadioButton( "Negrita", false ); contenedor.add( botonnegrita ); botoncursiva = new JRadioButton( "Cursiva", false ); contenedor.add( botoncursiva ); botonnegritacursiva = new JRadioButton( "Negrita/Cursiva", false ); contenedor.add( botonnegritacursiva );

91 JRadioButton (Botones de opción) Crear botonsimple = new JRadioButton( "Simple", true ); contenedor.add( botonsimple ); Se puede indicar cuál de las opciones estará activa en el momento de iniciar la aplicación botonnegrita = new JRadioButton( "Negrita", false ); contenedor.add( botonnegrita ); botoncursiva = new JRadioButton( "Cursiva", false ); contenedor.add( botoncursiva ); botonnegritacursiva = new JRadioButton( "Negrita/Cursiva", false ); contenedor.add( botonnegritacursiva );

92 JRadioButton (Botones de opción) Crear botonsimple = new JRadioButton( "Simple", true ); contenedor.add( botonsimple ); botonnegrita = new JRadioButton( "Negrita", false ); contenedor.add( botonnegrita ); botoncursiva = new JRadioButton( "Cursiva", false ); contenedor.add( botoncursiva ); botonnegritacursiva = new JRadioButton( "Negrita/Cursiva", false ); contenedor.add( botonnegritacursiva ); ManejadorBotonOpcion manejador = new ManejadorBotonOpcion(); botonsimple.additemlistener(manejador); botonnegrita.additemlistener(manejador); botoncursiva.additemlistener(manejador); botonnegritacursiva.additemlistener(manejador); Se adiciona el oyente a cada RadioButton

93 botonsimple = new JRadioButton( "Simple", true ); contenedor.add( botonsimple ); botonnegrita = new JRadioButton( "Negrita", false ); contenedor.add( botonnegrita ); botoncursiva = new JRadioButton( "Cursiva", false ); contenedor.add( botoncursiva ); botonnegritacursiva = new JRadioButton( "Negrita/Cursiva", false ); contenedor.add( botonnegritacursiva ); ManejadorBotonOpcion manejador = new ManejadorBotonOpcion(); botonsimple.additemlistener(manejador); botonnegrita.additemlistener(manejador); botoncursiva.additemlistener(manejador); botonnegritacursiva.additemlistener(manejador); grupobotonesopcion = new ButtonGroup(); grupobotonesopcion.add( botonsimple ); grupobotonesopcion.add( botonnegrita ); grupobotonesopcion.add( botoncursiva ); grupobotonesopcion.add( botonnegritacursiva ); Se crea el ButtonGroup y se le adicionan los RadioButton

94 botonsimple = new JRadioButton( "Simple", true ); contenedor.add( botonsimple ); botonnegrita = new JRadioButton( "Negrita", false ); contenedor.add( botonnegrita ); botoncursiva = new JRadioButton( "Cursiva", false ); contenedor.add( botoncursiva ); botonnegritacursiva = new JRadioButton( "Negrita/Cursiva", false ); contenedor.add( botonnegritacursiva ); ManejadorBotonOpcion manejador = new ManejadorBotonOpcion(); botonsimple.additemlistener(manejador); botonnegrita.additemlistener(manejador); botoncursiva.additemlistener(manejador); botonnegritacursiva.additemlistener(manejador); grupobotonesopcion = new ButtonGroup(); grupobotonesopcion.add( botonsimple ); grupobotonesopcion.add( botonnegrita ); grupobotonesopcion.add( botoncursiva ); grupobotonesopcion.add( botonnegritacursiva ); PruebaBotonOpcion Ver Oyente

95 JComboBox (Cuadro combinado) Un ComboBox, conocido como lista desplegable proporciona una lista de elementos de la cual el usuario puede seleccionar solamente uno Los objetos ComboBox generan eventos ItemEvent cuando el usuario hace clic en una de las opciones de la lista Utilizar un objeto manejador de una clase que implemente la interfaz ItemListener!!!

96 JComboBox (Cuadro combinado) Declarar private JComboBox cuadrocombimagenes; private String nombres[] = { "image3.gif", "image10.gif", "image5.gif", "image8.gif" ;

97 JComboBox (Cuadro combinado) Declarar private JComboBox cuadrocombimagenes; private String nombres[] = { "image3.gif", "image10.gif", "image5.gif", "image8.gif" ; Se debe crear una arreglo con los datos que aparecerán en la lista

98 JComboBox (Cuadro combinado) Crear cuadrocombimagenes = new JComboBox( nombres ); cuadrocombimagenes.setmaximumrowcount(4); Se pasa al constructor el arreglo con los datos que aparecerán en la lista

99 JComboBox (Cuadro combinado) Crear cuadrocombimagenes = new JComboBox( nombres ); cuadrocombimagenes.setmaximumrowcount(4); Se establece la cantidad máxima de ítems que puede tener la lista sin necesitar la barra de desplazamiento

100 JComboBox (Cuadro combinado) Crear cuadrocombimagenes = new JComboBox( nombres ); cuadrocombimagenes.setmaximumrowcount(2); Aparece la barra si se coloca el valor en 2 y hay 4 elementos en la lista

101 private class ManejadorCombo implements ItemListener { public void itemstatechanged( ItemEvent evento ) { if ( evento.getstatechange() == ItemEvent.SELECTED ){ int index=cuadrocombimagenes.getselectedindex(); System.out.println("Seleccionó el item " + index + " en la lista"); etiqueta.seticon( iconos[index ] );

102 private class ManejadorCombo implements ItemListener { public void itemstatechanged( ItemEvent evento ) { if ( evento.getstatechange() == ItemEvent.SELECTED ){ int index=cuadrocombimagenes.getselectedindex(); System.out.println("Seleccionó el item " + index + " en la lista"); etiqueta.seticon( iconos[index ] ); Método que permite conocer que un ítem cambio de estado

103 private class ManejadorCombo implements ItemListener { public void itemstatechanged( ItemEvent evento ) { if ( evento.getstatechange() == ItemEvent.SELECTED ){ int index=cuadrocombimagenes.getselectedindex(); System.out.println("Seleccionó el item " + index + " en la lista"); etiqueta.seticon( iconos[index ] ); Método del ComboBox que permite saber cuál de los ítems fue seleccionado. Retorna el índice (comenzando en 0)

104 private class ManejadorCombo implements ItemListener { public void itemstatechanged( ItemEvent evento ) { if ( evento.getstatechange() == ItemEvent.SELECTED ){ int index=cuadrocombimagenes.getselectedindex(); System.out.println("Seleccionó el item " + index + " en la lista"); etiqueta.seticon( iconos[index ] ); PruebaCuadroComb

105 JList (listas de selección) Una lista de selección permite al usuario seleccionar uno (Listas de selección simple) o varios elementos de una lista (Listas de selección múltiple) Las listas de selección se combinan con la clase JScrollPane JList JScrollPane

106 Una lista de selección genera eventos ListSelectionEvent cuando el usuario hace clic en una de las opciones de la lista Utilizar un objeto manejador de una clase que implemente la interfaz ListSelectionListener!!! Para adicionar este escucha se debe utilizar el método addlistselectionlistener

107 JList (listas de selección) Declarar private JList listacolores; private JScrollPane scroll; private final String nombrescolores[] = { "Negro", "Azul", "Cyan", "Gris oscuro, "Gris", "Verde", "Gris claro", "Magenta", "Naranja", "Rosa", "Rojo", "Blanco", "Amarillo" ; Se debe crear un arreglo con los datos que aparecerán en la lista

108 JList (listas de selección) Crear listacolores = new JList( nombrescolores ); listacolores.setvisiblerowcount( 5 ); listacolores.setselectionmode( ListSelectionModel.SINGLE_SELECTION ); scroll = new JScrollPane(listaColores); contenedor.add(scroll);

109 JList (listas de selección) Crear listacolores = new JList( nombrescolores ); listacolores.setvisiblerowcount( 5 ); listacolores.setselectionmode( ListSelectionModel.SINGLE_SELECTION ); scroll = new JScrollPane(listaColores); contenedor.add(scroll); Se pasa al constructor la lista con los nombres Se adiciona la lista a un scroll Se especifica que es una lista de selección simple

110 JList (listas de selección) Crear listacolores = new JList( nombrescolores ); listacolores.setvisiblerowcount( 5 ); listacolores.setselectionmode( ListSelectionModel.SINGLE_SELECTION ); scroll = new JScrollPane(listaColores); contenedor.add(scroll); ManejadorLista manejador = new ManejadorLista(); listacolores.addlistselectionlistener(manejador);

111 private class ManejadorLista implements ListSelectionListener { public void valuechanged( ListSelectionEvent evento ) { int index=listacolores.getselectedindex(); contenedor.setbackground(colores[index] ); Se implementa el método valuechange de la interfaz ListSelectionListener

112 private class ManejadorLista implements ListSelectionListener { public void valuechanged( ListSelectionEvent evento ) { int index=listacolores.getselectedindex(); contenedor.setbackground(colores[index] ); PruebaLista

113 JList (listas de selección) JList de selección múltiple JList de selección simple

114 JList (listas de selección) Crear listacolores = new JList( nombrescolores ); listacolores.setvisiblerowcount( 5 ); listacolores.setselectionmode(listselectionmodel.multiple_interval_selection); scroll1 = new JScrollPane(listaColores); contenedor.add(scroll1); Se especifica que se permite selección múltiple

115 public class ManejadorMultiple implements ActionListener { public void actionperformed( ActionEvent evento ) { listacopia.setlistdata( listacolores.getselectedvalues() ); Se captura el evento por medio del botón Establecer los datos que aparecerán en la lista Retorna los valores de listacolores seleccionados

116 public class ManejadorMultiple implements ActionListener { public void actionperformed( ActionEvent evento ) { listacopia.setlistdata( listacolores.getselectedvalues() ); PruebaSeleccionMultiple Explicar ancho y alto de la lista que no tiene elementos

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.

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. GUI Manejo de eventos de ratón Para manejar eventos de ratón debe implementarse los métodos de las interfaces de escucha de eventos MouseListener y MouseMotionListener. Estos eventos pueden atraparse para

Más detalles

// Suma.java // Programa de suma que utiliza a JOptionPane para entrada y salida. import javax.swing.joptionpane; // el programa usa JOptionPane

// Suma.java // Programa de suma que utiliza a JOptionPane para entrada y salida. import javax.swing.joptionpane; // el programa usa JOptionPane Componentes GUI. Una interfaz gráfica de usuario (GUI) presenta un mecanismo amigable al usuario para interactuar con una aplicación. Las GUIs se crean a partir de componentes de la GUI, a estos se les

Más detalles

Programación de Eventos

Programación de Eventos Programación de Eventos Un evento es un suceso que ocurre dentro del contexto de la ejecución de un programa. Por ejemplo, se presiona un botón, se modifica una caja de texto, se selecciona una opción

Más detalles

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

Pasos requeridos para establecer el manejo de eventos para un componente de GUI. Manejo de eventos con clases anidadas. Por lo general un usuario interactúa con una GUI para indicar las tareas que ésta debe realizar. Por ejemplo, al escribir un mensaje de correo electrónico, pulsamos

Más detalles

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 S GUI Objetos y s Dr. Luciano H. Tamargo http://cs.uns.edu.ar/~lt Depto. de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur, Bahía Blanca

Más detalles

Interacción con el Usuario Gestión de Eventos

Interacción con el Usuario Gestión de Eventos Interacción con el Usuario Gestión de Eventos Presentación basada en: 1. Como Programar en Java. Deitel y Deitel. Ed. Prentice-Hall. 1988 2. Java 2., Curso de programación. Fco. Javier Ceballos. Ed. Alfoomega&RA-MA,

Más detalles

Programación Orientada a Objetos

Programación Orientada a Objetos Programación Orientada a Objetos Tema 5: Desarrollo de interfaces gráficas de usuario Tema 5-1: Conceptos básicos de SWING Contenidos Tema 5-1: Conceptos básicos de SWING 1. INTRODUCCIÓN 2. COMPONENTES

Más detalles

EVENTOS en Java generador de un evento gestor de eventos

EVENTOS en Java generador de un evento gestor de eventos Ahora ya conocemos los diferentes componentes que existen en la GUI de Java y sabemos como distribuirlos y diseñarlos pero aún no hemos hecho que interactúen con el usuario: si pulsamos sobre un botón

Más detalles

Aplicaciones gráficas en Java Librería Swing

Aplicaciones gráficas en Java Librería Swing Aplicaciones gráficas en Java Librería Swing Sumario: Breve introducción al paquete Swing Tipos de clases del paquete Definición y manejo de contenedores, diálogos y layouts Diseño mediante IDE (Eclipse)

Más detalles

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

Tema 6. Interfaces gráficas de usuario (Parte II Componentes y eventos) Programación en Java Tema 6. Interfaces gráficas de usuario (Parte II Componentes y eventos) Luis Rodríguez Baena Facultad de Informática Etiquetas. JLabel Componentes de texto fijo. Su contenido sólo

Más detalles

Unidad 10. Polimorfismo

Unidad 10. Polimorfismo Unidad 10. Polimorfismo 10.1 Introducción El polimorfismo nos permite escribir programas para procesar objetos que compartan la misma superclase en una jerarquía de clases, como si todos fueran objetos

Más detalles

Construir una Interfaz Gráfica

Construir una Interfaz Gráfica Construir una Interfaz Gráfica JAVA, permite al programador: -Diseñar y programar en interfaces gráficas de usuario en forma rápida y sencilla. -Cuenta con dos paquetes de clases predefinidos que brindan

Más detalles

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

Programación orientada a objetos. Capítulo 11 Construir interfaces gráficas de usuarios Programación orientada a objetos Capítulo 11 Construir interfaces gráficas de usuarios Interfaces gráficas de usuario (GUI: Graphical User Interface) - Componentes de las interfaces - Disposición (layout)

Más detalles

Desarrollo de Aplicaciones en Java INF 473

Desarrollo de Aplicaciones en Java INF 473 Desarrollo de Aplicaciones en Java INF 473 Desarrollo de Interfaces Gráficas Componentes Swing II Prof. José Miguel Rubio [email protected] [email protected] PUCV Marzo 2008 0 Generación de código Diferencia

Más detalles

Interfaces gráficas. Jose Jesus García Rueda

Interfaces gráficas. Jose Jesus García Rueda Interfaces gráficas Jose Jesus García Rueda Introducción Qué son las interfaces gráficas? Ejemplos bien conocidos Vamos a programar una: Colores.java Conceptos básicos Aplicación gráfica. Contenedores.

Más detalles

Programación de sistemas

Programación de sistemas Programación de sistemas Interfaces Gráficas I. Conceptos básicos II. Eventos Departamento de Ingeniería Telemática José Jesús García Rueda y Carlos Alario Hoyos

Más detalles

Programación Java Curso C GUI

Programación Java Curso C GUI Programación Java Curso 2006-1 C GUI FIUBA Introducción: Prof.. María Feldgen Ing. Osvaldo Clúa Java 1.0 poseía un modelo de interface gráfica o GUI (Graphical User Interface) que se basaba en la plataforma

Más detalles

USO DE LOS OBJETOS JLABEL, JTEXTFIELD Y JBUTTON

USO DE LOS OBJETOS JLABEL, JTEXTFIELD Y JBUTTON USO DE LOS OBJETOS JLABEL, JTEXTFIELD Y JBUTTON Una aplicación sin usar Formulario A continuación vamos a desarrollar una aplicación sencilla que permita calcular el área del triángulo dado los valores

Más detalles

Manejo de eventos AWT

Manejo de eventos AWT Manejo de eventos AWT En las aplicaciones en modo consola, nuestro método main determina el orden en el que se ejecutan las operaciones de nuestro programa. En las aplicaciones con interfaces gráficas

Más detalles

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

INSTRUCCIÓN PEDIR EN JAVA CON JTEXTAREA Y MOSTRAR CON JLABEL. SETBOUNDS Y SETTEXT. EJEMPLOS. (CU00929C) APRENDERAPROGRAMAR.COM INSTRUCCIÓN PEDIR EN JAVA CON JTEXTAREA Y MOSTRAR CON JLABEL. SETBOUNDS Y SETTEXT. EJEMPLOS. (CU00929C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado I

Más detalles

INTERFACES GRÁFICAS. Algoritmia y Programación

INTERFACES GRÁFICAS. Algoritmia y Programación Algoritmia y Programación CONTENIDO GUI s (Graphic User Interfaces) Qué son? Componentes Layouts Eventos Editor Componentes Layouts Eventos Slide 2 Qué son? Una interfaz gráfica de usuario (GUI) presenta

Más detalles

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

Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Algoritmia y Programación Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Algoritmia y Programación LaboratorioTema: Arreglos Unidimensionales y Bidimensionales Fecha: 12 al 26 de Mayo Objetivos: 1. Comprender

Más detalles

Interfases gráficas. Programación Orientada a Objetos. https://sites.google.com/site/materialpoo/

Interfases gráficas. Programación Orientada a Objetos. https://sites.google.com/site/materialpoo/ Interfases gráficas Programación Orientada a Objetos Componenetes Button Label Panel CheckBox Canvas ComboBox (Cuadro Combinado) Jerarquía de clases Component Container Panel Window Applet Frame Dialog

Más detalles

JAVA 6. Gestión de Eventos

JAVA 6. Gestión de Eventos JAVA 6. Gestión de Eventos import java.awt.event.* http://giig.ugr.es/ mgea/docencia/diu/diu.html Ultima actualización: 2/Nov/2004 1 1. Modelo de gestión de eventos Acción Usuario java.util.eventobject

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Introducción Práctica de Programación Java Antonio Rivero Cuesta Sesión VI Interfaces Gráficas de Usuario... 9 Introducción... 10 Componentes... 13 Container... 16 Gestores

Más detalles

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

Examen de Programación II (Ingeniería Informática) Examen de Programación II (Ingeniería Informática) Septiembre 2010 1) Lenguaje C (2 puntos) Escribir el módulo "elimina_substring" (ficheros elimina_substring.h y elimina_substring.c) que defina una única

Más detalles

Desarrollo de Aplicaciones en Java INF 473

Desarrollo de Aplicaciones en Java INF 473 Desarrollo de Aplicaciones en Java INF 473 Desarrollo de Interfaces Gráficas Componentes Swing Prof. José Miguel Rubio [email protected] [email protected] PUCV Marzo 2008 0 Interfaces de usuario en java

Más detalles

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

Tipos de programas en Java. Programación basada en eventos. Programación basada en eventos. Creación de una interfaz gráfico de usuario Tipos de programas en Java Programación basada en eventos Aplicaciones Se pueden ejecutar directamente en un entorno Java Tipos Modo de consola -Interacción mediante teclado -Interfaz basado en texto Aplicaciones

Más detalles

Creemos una GUI para la siguiente tabla de la base de datos.

Creemos una GUI para la siguiente tabla de la base de datos. Consideración en el diseño de una GUI: Debe ser intuitiva Definir los modos de interacción: Flexibles y adecuados Dar opciones de interrumpir una acción, volver a ejecutar una acción Pasos repetidos: macros

Más detalles

USO DEL OBJETO JCOMBOBOX

USO DEL OBJETO JCOMBOBOX USO DEL OBJETO JCOMBOBOX Objeto de Control JComboBox Un objeto de control JComboBox permite dibujar en el formulario una lista desplegadle, la cual contiene opciones (ítems). ComboBox significa cuadro

Más detalles

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

INTERFACES GRÁFICAS MTRA. CAROLINA GALAVIZ INZUNZA. Mtra. Carolina Galaviz Inzunza INTERFACES GRÁFICAS MTRA. CAROLINA GALAVIZ INZUNZA INTRODUCCIÓN Hasta ahora hemos desarrollado programas que usan la consola para interactuar con el usuario. Esa forma de interfaz de usuario es muy simple

Más detalles

Agenda. Contenedores y componentes

Agenda. Contenedores y componentes Agenda Tipos de objetos y clases de la GUI Guía detallada para crear una interfaz gráfica de usuario Guía detallada para la gestión de eventos Problema 1 del boletín 5 Problema 2 del boletín 5 Contenedores

Más detalles

ALGORITMICA Y PROGRAMACION POR OBJETOS I

ALGORITMICA Y PROGRAMACION POR OBJETOS I ALGORITMICA Y PROGRAMACION POR OBJETOS I Nivel 5 Construyendo la Interfaz Gráfica Marcela Hernández Hoyos Motivación Interfaz usuario Modelo del mundo Usuario Único medio de comunicación entre el usuario

Más detalles

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)

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) 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) Component es una clase abstracta que representa a cualquier

Más detalles

Intefaces gráficas. Eventos. Jose Jesus García Rueda

Intefaces gráficas. Eventos. Jose Jesus García Rueda Intefaces gráficas. Eventos Jose Jesus García Rueda Planteamiento de objetivos Ser capaces de añadirle funcionalidad a los elementos gráficos de la interfaz modificándolos también como resultado de las

Más detalles

Programación Basada en Eventos

Programación Basada en Eventos Programación Basada en Eventos La construcción de una GUI utiliza un modelo de programación basado en eventos. En este modelo el orden en el cual se ejecutan las instrucciones de un programa va a quedar

Más detalles

Aplicaciones de Escritorio

Aplicaciones de Escritorio Aplicaciones de Escritorio Interfaces Gráficas con Java Disertantes: Ing. Rasjido, José. AdeS Montenegro, Cristian. Agenda Interfaz Grafica de Usuario Interfaz Grafica de Usuario Aplicaciones de escritorio

Más detalles

Creando archivos *.jar 2008

Creando archivos *.jar 2008 PARTE I: Extendiendo los comandos de DOS Crear el archivo.jar desde la consola de DOS Paso 1: Debemos extender los comandos del DOS a través de las variables de entorno, para ello ubicamos el jdk o jre

Más detalles

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

INGRESAR DATOS CON UN CONTROL VISUAL EN JAVA. CLASE JTEXTFIELD Y MÉTODO GETTEXT. EJEMPLOS (CU00928C) APRENDERAPROGRAMAR.COM INGRESAR DATOS CON UN CONTROL VISUAL EN JAVA. CLASE JTEXTFIELD Y MÉTODO GETTEXT. EJEMPLOS (CU00928C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado I Fecha

Más detalles

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

import javax.swing.*; import javax.swing.event.*; import java.awt.*; import java.awt.event.*; 1 1 1 1 0 1 0 1 /* 1 - Desarrolle un programa que permita el ingreso de dos * números en controles de tipo JTextField y mediante dos * controles de tipo JRadioButton permita seleccionar si * queremos sumarlos

Más detalles

USO DE LOS OBJETOS JLABEL, JTEXTFIELD Y JBUTTON

USO DE LOS OBJETOS JLABEL, JTEXTFIELD Y JBUTTON USO DE LOS OBJETOS JLABEL, JTEXTFIELD Y JBUTTON Una aplicación sin usar Formulario A continuación vamos a desarrollar una aplicación sencilla que permita calcular el área del triángulo dado los valores

Más detalles

OBJETOS CONTENEDORES JPANEL Y JSCROLLPANEL

OBJETOS CONTENEDORES JPANEL Y JSCROLLPANEL OBJETOS CONTENEDORES JPANEL Y JSCROLLPANEL Swing Containers Los objetos pertenecientes a Swing Containers, son objetos que permiten agrupar a otros objetos y facilitan el manejo de ciertos procesos dentro

Más detalles

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

I. Introducción a la programación orientada a objetos y al lenguaje JAVA Colegio Reuven Feuerstein --Javier Navarro I. Introducción a la programación orientada a objetos y al lenguaje JAVA Colegio Reuven Feuerstein --Javier Navarro Lectura de Datos Dentro de un applet es sencillo tomar algún dato del usuario para realizar

Más detalles

CURSO DE GAMBAS 2.0.0

CURSO DE GAMBAS 2.0.0 CURSO DE GAMBAS 2.0.0 (Nivel 2) Carúpano, Marzo de 2008 Programación En GAMBAS 2.0.0 1 USO DE CONTROLES MAS COMUNES LISTBOX: El control ListBox implementa una lista de items seleccionables. Para crear

Más detalles

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 GUI Ecapsulamiento, clases asociadas Dr. Luciano H. Tamargo http://cs.uns.edu.ar/~lt Depto. de Ciencias e Ingeniería de la Computación Universidad Nacional

Más detalles

Ingeniería del Software Separación entre Presentación y Lógica del Negocio

Ingeniería del Software Separación entre Presentación y Lógica del Negocio Introducción En este laboratorio desarrollaremos una aplicación que verifica si una cuenta y un password son correctos. En dicha aplicación la presentación y la lógica del negocio se definirán en dos capas

Más detalles

MP 0485 PRG Java 8 Netbeans 8.2 Swing [ Manual ]

MP 0485 PRG Java 8 Netbeans 8.2 Swing [ Manual ] 1. Con la ayuda del IDE NetBeans, construir un proyecto de tpo Aplicación Java con Interfaz Gráfico de Usuario Swing llamado VentanaCentrada que muestre una ventana centrada en pantalla de un tamaño fio

Más detalles

Capítulo 7. Introducción a las Interfaces Gráficas de usuario. Continuar

Capítulo 7. Introducción a las Interfaces Gráficas de usuario. Continuar Capítulo 7 Introducción a las Interfaces Gráficas de usuario Continuar Introducción Se explicará qué es una interfaz gráfica, cómo han evolucionado y cómo es que debe desarrollarse un programa que incluya

Más detalles

EJERCICIO GUIADO. JAVA: DISEÑO DE FORMULARIOS DESDE CÓDIGO

EJERCICIO GUIADO. JAVA: DISEÑO DE FORMULARIOS DESDE CÓDIGO EJERCICIO GUIADO. JAVA: DISEÑO DE FORMULARIOS DESDE CÓDIGO La Ventana de Diseño La ventana de diseño es una gran herramienta que nos permite diseñar formularios de forma relativamente sencilla. Simplemente

Más detalles

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

d) Mencione dos diferencias y dos semejanzas entre clases abstractas e interfaces. Primer Certamen 1er. Sem 2004 Todas las preguntas tienen igual puntaje. 1. a) Usando los niveles de madurez definidos en CMM, qué nivel le corresponde a una empresa que se caracteriza por comprometer productos

Más detalles

2.1 Elementos gráficos en Java.

2.1 Elementos gráficos en Java. Practica0 de 1. Programa Java tipo consola public class Clase0 { public static void main(string[] args) { System.out.println("Hola Mundo"); System.out.println("Estamos en clase de Interfaces de Usuario");

Más detalles

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

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 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 aplicación. También podemos afirmar que Java

Más detalles

INSTALACION Y PRUEBA DEL PLUGIN WindowBuilder para trabajar Swing en Eclipse

INSTALACION Y PRUEBA DEL PLUGIN WindowBuilder para trabajar Swing en Eclipse INSTALACION Y PRUEBA DEL PLUGIN WindowBuilder para trabajar Swing en Eclipse Por: María Consuelo Franky 2015 Contenido 1. Instalación para Eclipse 4.3 Kepler... 1 2. Prueba inicial del plugin WindowBuilder...

Más detalles

Uso de Java Swing. Noviembre de 2013

Uso de Java Swing. Noviembre de 2013 Uso de Java Swing Noviembre de 2013 Introducción Esta lección les dará la oportunidad de introducirlos al manejo de la clase Swing. Despues de explicar en que consiste Swing, veremos como compilar y correr

Más detalles

Programación basada en eventos Event- Based Programming : Conceptos. ELO329: Diseño y Programación Orientados a Objetos

Programación basada en eventos Event- Based Programming : Conceptos. ELO329: Diseño y Programación Orientados a Objetos Programación basada en eventos Event- Based Programming : Conceptos ELO329: Diseño y Programación Orientados a Objetos Nuevo paradigma de programación En la programación basada en eventos (o programación

Más detalles

Programación Orientada a Objetos. Componentes Gráficos

Programación Orientada a Objetos. Componentes Gráficos Programación Orientada a Objetos Componentes Gráficos César Julio Bustacara Medina Facultad de Ingeniería Pontificia Universidad Javeriana 03/05/2016 1 Ejemplo Práctico Programa que permite incrementar

Más detalles

USO DEL OBJETO JLIST

USO DEL OBJETO JLIST USO DEL OBJETO JLIST Objeto de Control JList Un objeto de control Jlist permite dibujar en el formulario una caja de lista de opciones (ítems). Cuando el formulario se encuentra en la etapa de ejecución

Más detalles

Java Avanzado Facultad de Ingeniería. Escuela de computación.

Java Avanzado Facultad de Ingeniería. Escuela de computación. 2 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 7 3 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo de sus prácticas

Más detalles

Introducción a componentes Swing

Introducción a componentes Swing Introducción a componentes Swing H. Tejeda Mayo 2016 Índice 1. Introducción 1 2. Clase JFrame 2 3. Clase JLabel 6 4. Manejador de diseño 9 5. Extensión de la clase JFrame 11 6. Clases de entrada 13 7.

Más detalles

1 AVANCE DEL PROYECTO PARA TEORIA DE LA COMPUTACION NOMBRE DEL PROYECTO: SIMULADOR DE AUTOMATAS FINITOS (SAF) OBJETIVO:

1 AVANCE DEL PROYECTO PARA TEORIA DE LA COMPUTACION NOMBRE DEL PROYECTO: SIMULADOR DE AUTOMATAS FINITOS (SAF) OBJETIVO: 1 AVANCE DEL PROYECTO PARA TEORIA DE LA COMPUTACION NOMBRE DEL PROYECTO: SIMULADOR DE AUTOMATAS FINITOS (SAF) OBJETIVO: DEMOSTRAR EL FUNCIONAMIENTO Y APLICACION DE LOS AUTOMATAS AL PUBLICO EN GENERAL MEDIANTE

Más detalles

Interfaces Gráficas de Usuario en Java Julio 2004. 1. Introducción. 2. Crear una ventana 2

Interfaces Gráficas de Usuario en Java Julio 2004. 1. Introducción. 2. Crear una ventana 2 Índice 1. Introducción 1 2. Crear una ventana 2 3. Componentes swing 5 3.1. JPanel y JLabel......................................................... 6 3.2. ImageIcon............................................................

Más detalles

Interfaces gráficas con Swing

Interfaces gráficas con Swing Interfaces gráficas con Swing Java y Servicios Web I Master en Ingeniería Matemática Manuel Montenegro Dpto. Sistemas Informáticos y Computación Desp. 467 (Mat) [email protected] Introducción Swing

Más detalles

Introducción a Swing. Taller de Programación 2016

Introducción a Swing. Taller de Programación 2016 Introducción a Swing Taller de Programación 2016 [email protected] Introducción En qué estamos exactamente? Cómo debemos codificar? Por donde empezar? Empecemos por entender el contexto y la arquitectura

Más detalles

Algoritmia y Programación

Algoritmia y Programación Algoritmia y Programación Oscar Bedoya [email protected] http://eisc.univalle.edu.co/~oscarbed/algoritmia/ Cuántos botones se necesitan? import javax.swing.*; import java.awt.*; import

Más detalles

Programación basada en/dirigida por eventos Event-Based Programming : Conceptos (o Event-driven Programming)

Programación basada en/dirigida por eventos Event-Based Programming : Conceptos (o Event-driven Programming) Programación basada en/dirigida por eventos Event-Based Programming : Conceptos (o Event-driven Programming) ELO329: Diseño y Programación Orientados a Objetos Nuevo paradigma de programación En la programación

Más detalles

Interfaz Gráfica de Usuario (GUI)

Interfaz Gráfica de Usuario (GUI) Interfaz Gráfica de Usuario (GUI) Unidad: 2 Laboratorio de Programación Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos Indice Los administradores de diseño (Layouts) Características

Más detalles

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

EJERCITACIÓN JAVA CÁTEDRA DE LENGUAJES ORIENTADOS A OBJETOS. Ing. Mario Bressano & Luciano Diamand ENVÍO RESUELTO 05 EJERCITACIÓN JAVA 2013 CÁTEDRA DE LENGUAJES ORIENTADOS A OBJETOS Ing. Mario Bressano & Luciano Diamand ENVÍO RESUELTO 05 Ejercicio 48: Dada la siguiente serie, confeccionar una aplicación donde ingresada

Más detalles

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

GUÍA DE LABORATORIO 5 ARREGLOS DE UNA DIMENSIÓN GUÍA DE LABORATORIO 5 ARREGLOS DE UNA DIMENSIÓN INTRODUCCION Un arreglo es una colección de variables del mismo tipo, referidos por un nombre común. En Java, los arreglos tienen una o más dimensiones,

Más detalles

Interfaces gráficas en Java GUIs Graphical User Interface

Interfaces gráficas en Java GUIs Graphical User Interface Diseño Y Aplicaciones de Sistemas Distribuidos Interfaces gráficas en Java GUIs Graphical User Interface Joan Vila DISCA / UPV Departament d Informàtica de Sistemes i Computadors Universitat Politècnica

Más detalles

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

Transparencias de Java. Tema 7: AWT. Uploaded by Ingteleco Transparencias de Java Tema 7: AWT Uploaded by Ingteleco http://ingteleco.webcindario.com [email protected] La dirección URL puede sufrir modificaciones en el futuro. Si no funciona contacta por

Más detalles

CAPITULO 11. CONSTRUIR INTERFACES GRAFICAS DE USUARIO

CAPITULO 11. CONSTRUIR INTERFACES GRAFICAS DE USUARIO CAPITULO 11. CONSTRUIR INTERFACES GRAFICAS DE USUARIO 11.1 Introducción La Interfaz de usuario, es la parte de una aplicación que está visible en la pantalla y que permite que un usuario interactúe con

Más detalles

INTERFAZ GRÁFICO DE USUARIO

INTERFAZ GRÁFICO DE USUARIO Programación JAVA INTERFAZ GRÁFICO DE USUARIO 2 - Referencia Bibliográfica Autor Adolfo Aladró García Publicado en la revista Solo Programadores num. 118 Ejemplos copiados del libro Java 2 - Curso de Programación

Más detalles

Conocimientos previos

Conocimientos previos Tema: Conociendo el editor VBA Ficha de aprendizaje 3 n Logro Reconoce las funciones de Visual Basic Identifica las herramientas del entorno de VBA @ # Conocimientos previos Qué elementos (controles) puedes

Más detalles

Interfaces gráficas de usuario

Interfaces gráficas de usuario Las interfaces gráficas de usuario Interfaces gráficas de usuario Hasta ahora hemos desarrollado programas que usan la consola para interactuar con el usuario. Esa forma de interfaz de usuario es muy simple

Más detalles

Manual del Usuario del Aplicativo FON. Manual del Usuario. Aplicativo de Funciones Obstétricas y Neonatales. Edgar Velásquez P.

Manual del Usuario del Aplicativo FON. Manual del Usuario. Aplicativo de Funciones Obstétricas y Neonatales. Edgar Velásquez P. 1 Manual del Usuario Aplicativo de Funciones Obstétricas y Neonatales Edgar Velásquez P. 1 1 1 Introducción: Este capítulo provee información general acerca del Aplicativo de Funciones Obstétricas y Neonatales,

Más detalles

Utiliza el mismo modelo empleado por Graphics Para usarlo. java.awt.geom formas primitivas

Utiliza el mismo modelo empleado por Graphics Para usarlo. java.awt.geom formas primitivas java.awt.graphics2d Utiliza el mismo modelo empleado por Graphics Para usarlo public void paint(graphics g) { Graphics2D g2 = (Graphics2D) g;... java.awt.geom formas primitivas Arc2D Ellipse2D QuadCurve2D

Más detalles

USO DEL OBJETO JTABLE

USO DEL OBJETO JTABLE USO DEL OBJETO JTABLE Objeto de Control JTable Como programadores, sabemos muy bien que la presentación de datos tabulados es una de las tareas más comunes que se presentan al momento de crear interfaces

Más detalles

SWING: JButton, JCheckBox y JRadioButton Javier Ovejero Sánchez

SWING: JButton, JCheckBox y JRadioButton Javier Ovejero Sánchez SWING: JButton, JCheckBox y JRadioButton Javier Ovejero Sánchez Departamento de Informática y Automática Universidad de Salamanca Resumen Las interfaces graficas de usuario se han convertido en una parte

Más detalles

Programación interactiva. Oscar Bedoya [email protected]

Programación interactiva. Oscar Bedoya oscarbed@eisc.univalle.edu.co Programación interactiva Oscar Bedoya [email protected] El lenguaje de programación Importancia del lenguaje Java Correspondencia directa con el mundo real (compuesto de objetos) Permite implementar

Más detalles

Desarrollando aplicaciones mediante componentes

Desarrollando aplicaciones mediante componentes Desarrollando aplicaciones mediante componentes I.03 Captura de eventos 1) Planteamiento: Desarrollar una aplicación en Swing que capture varios eventos en swing tales como el Clic, el doble Clic, movimiento

Más detalles

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

APELLIDOS:... NOMBRE:... GRUPO:... NÚMERO DE EXPEDIENTE:... Cuadernillo de examen ASIGNATURA Laboratorio de Sistemas Operativos Abiertos (Java) CÓDIGO 321 CONVOCATORIA Extraordinaria de Septiembre de 2003 PLAN DE ESTUDIOS 1996 ESPECIALIDAD Sistemas CURSO 2002/2003

Más detalles

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

Tema 6. Interfaces gráficas de usuario (Parte 1) Programación en Java Tema 6. Interfaces gráficas de usuario (Parte 1) Luis Rodríguez Baena Facultad de Informática Swing y AWT (I) JDK 1.0 introdujo la creación de interfaces gráficas de usuario (GUI,

Más detalles

2017 CÁTEDRA DE LENGUAJE DE PROGRAMACIÓN JAVA

2017 CÁTEDRA DE LENGUAJE DE PROGRAMACIÓN JAVA CÁTEDRA DE LENGUAJE DE PROGRAMACIÓN JAVA Ings. Mario Bressano & Miguel Iwanow ENVÍO 07/2017 EJERCICIO Nº 58 En este ejercicio se aprecia cómo se obtiene las coordenadas del mouse cuando se acciona y que

Más detalles

Agentes con Interfaz Gráfica.

Agentes con Interfaz Gráfica. Agentes con Interfaz Gráfica. Hasta este momento los talleres que se habían desarrollado contaban con una interfaz gráfica muy limitada. Pero en la mayoría de los sistemas multiagente debe existir una

Más detalles

PROGRAMACIÓN VISUAL E.A.P. SISTEMAS E INFORMATICA UNIVERSIDAD NACIONAL DEL SANTA CURSO: MICROCOMPUTACION III FACULTA DE INGENIERIA.

PROGRAMACIÓN VISUAL E.A.P. SISTEMAS E INFORMATICA UNIVERSIDAD NACIONAL DEL SANTA CURSO: MICROCOMPUTACION III FACULTA DE INGENIERIA. PROGRAMACIÓN VISUAL En el mundo moderno, las necesidades de información se han incrementado bastante en la vida diaria de los individuos así como de las organizaciones. Esta nueva necesidad se esta cubriendo

Más detalles

Manual del Usuario de Microsoft Access Formularios - Página 1. Tema V: Formularios. V.1. Creación de un Formulario

Manual del Usuario de Microsoft Access Formularios - Página 1. Tema V: Formularios. V.1. Creación de un Formulario Manual del Usuario de Microsoft Access Formularios - Página 1 Tema V: Formularios V.1. Creación de un Formulario Un formulario es un diseño que permite introducir, cambiar y ver los registros de una base

Más detalles

Personalizar barras de herramientas

Personalizar barras de herramientas Personalizar barras de herramientas 289 Personalizar barras de herramientas Contenido Barras de herramientas Creación de barras de herramientas Establecer propiedades a la barra de herramientas Agregar

Más detalles

Tema 6. Interfaces gráficas de usuario

Tema 6. Interfaces gráficas de usuario Tema 6. Interfaces gráficas de usuario Dpto. Lenguajes y Ciencias de la Computación. E.T.S.I. Informática. Universidad de Málaga Programación Orientada a Objetos Dpto. Lenguajes y Ciencias de la Computación.

Más detalles

UNIDAD I.- Elementos de Interfaces Gráficas

UNIDAD I.- Elementos de Interfaces Gráficas UNIDAD I.- Elementos de Interfaces Gráficas LECCIÓN 1.4.- Componentes Swing 1.4.1.- Componentes Gráficos de Swing Los componentes gráficos de Swing se puede agrupar en: Clases básicas Contenedores de alto

Más detalles