Escolar Documentos
Profissional Documentos
Cultura Documentos
Unidad 2. Componentes grficos Presentacin de la unidad .............................................................................................. 4 Propsito ........................................................................................................................ 4 Competencia especfica ................................................................................................. 4 Actividad 1. Componentes grficos ................................................................................ 4 2.1. Contenedores .......................................................................................................... 5 2.1.1. Paneles ................................................................................................................ 5 2.1.2. Marco ................................................................................................................... 7 2.2. Controles ............................................................................................................... 12 2.2.1. Etiqueta .............................................................................................................. 12 2.2.2. Botones .............................................................................................................. 14 2.2.3. Casilla de activacin ........................................................................................... 16 2.2.4. Lista desplegable ............................................................................................... 18 2.2.5. Campo de texto .................................................................................................. 20 2.2.6. rea de texto ...................................................................................................... 22 2.2.7. Separador .......................................................................................................... 24 2.2.8. Spinner ............................................................................................................... 25 2.2.9. rbol ................................................................................................................... 27 Actividad 2. Contenedores y controles ......................................................................... 38 2.3. Men ..................................................................................................................... 39 2.3.1. Barra de men.................................................................................................... 39 2.3.2. Elemento de men ............................................................................................. 40 2.3.3. Men emergente ................................................................................................ 42 2.3.4. Separador .......................................................................................................... 44 2.4. Ventanas ............................................................................................................... 45 2.4.1. Cuadros de dialogo ............................................................................................ 45 2.4.2.Ventanas independientes y sus cambios ............................................................. 49 Actividad 3. Mens y ventanas ..................................................................................... 50 Autoevaluacin ............................................................................................................. 50 Evidencia de aprendizaje. ............................................................................................ 51
Presentacin de la unidad
Bienvenido a la unidad dos en donde examinaras los componentes que se utilizan para crear aplicaciones grficas funcionales. Estos componentes son de suma importancia debido a que son la base para desarrollar sistemas complejos al conectarlos con bases de datos y permitir el almacn de informacin, que es el tema que se ver en la siguiente unidad. Por lo tanto en esta unidad debers poner atencin a la sintaxis del uso de los componentes grficos, que te ayudara a comprender mejor cada forma en que se construyen las interfaces grficas. No olvides consultar las dudas que te surjan a tu facilitador para una mejor comprensin a los temas y dar continuidad a tu estudio de POO2.
Propsito
En esta unidad logrars: Identificar diferentes tipos de componentes grficos y su codificacin. Comprender la sintaxis de creacin de diferentes componentes grficos, as como la manipulacin de sus propiedades. Unir diferentes componentes grficos en una sola clase para crear interfaces grficas. Crear, programas con interfaz grfica y manipularlos mediante eventos.
Competencia especfica
Utilizar las clases y estructuras de los componentes grficos para crear aplicaciones con interfaces grficas, mediante el lenguaje de programacin JAVA.
2.1. Contenedores
Las aplicaciones ms utilizadas cuentan con interfaz GUI (siglas en ingls) que en espaol significa grfica de usuario esta interfaz es la carta de presentacin de la aplicacin, que ofrece al usuario una interaccin; esa apariencia debe programarse mediante componentes grficos. Para tener una idea ms clara al respecto, tan solo observa el navegador en el que te encuentras revisando este material, en el podrs distinguir que en la parte superior cuenta con un men, que tambin tiene algunos botones y seguramente cuenta con un espacio para escribir texto; pues estos elementos que acabamos de mencionar son justamente componentes grficos. Todos los componentes grficos son objetos y como tales para declararlos se debe invocar la clase a la que pertenece, el componente en cuestin e ir utilizando los mtodos que tienen predefinidos para configurar sus caractersticas. Todos esos elementos se encuentran en el paquete javax.swing (algunos pertenecen a java.awt) y son subclase de JComponent, por tanto deberemos importar dicha librera (recuerda que una librera es un conjunto de funcionalidades estndares compartidas, que ya estn codificadas y solo debemos utilizar) para el uso de estos componentes. (Ceballos, 2006). Finalmente solo falta mencionar que los contenedores son supra-componentes grficos que, precisamente como su nombre lo indica ayudan a contener, agrupar y organizar otros componentes grficos dentro de ellos, esto se hace para tener un mejor control sobre la ubicacin de dichos componentes en la interfaz grfica que se est construyendo. En los siguientes subtemas paneles y marco, veremos cmo crear contenedores, as como sus caractersticas y propiedades configurables.
2.1.1. Paneles
El primer tipo de contenedores que revisaremos son los paneles, estos ayudan a definir secciones dentro de una interfaz grfica.
Cmo pudiste observar se hablo del marco (la ventana) que es el contenedor principal, donde se encontrarn los panales, por lo tanto continua con el siguiente tema para que comprendas la definicin de un marco y su respectivo ejemplo.
2.1.2. Marco
En el tema anterior se vieron los paneles, que deben ubicarse dentro de marcos, los cuales son comnmente llamados frames, tal como el nombre de la clase los define (JFrame). Los marcos son los contenedores principales al crear aplicaciones grficas, ya que cualquier otro componente grfico que se cree, debe estar dentro de un marco. Nota: el marco es la ventana sobre la que se construye la apariencia grfica de un programa. Veamos el siguiente ejemplo de cdigo, donde: Se sombrea en azul la definicin del paquete, librera utilizada, autor, as como la declaracin de la clase y el mtodo. En sombreado morado se coloca el cdigo para declarar el marco, que como se ha dicho anteriormente, los componentes grficos son objetos y se declaran como
Salida de pantalla del marco Una vez definido el marco para agregar elementos dentro de ste, se utiliza el mtodo add, y un administrador de diseo llamado layout, esto permite acomodar en algn orden todos los componentes que se agreguen al marco. Como ya se mencion anteriormente para construir interfaces graficas se utilizan libreras ya predefinidas; las bibliotecas de clases Java para el desarrollo de interfaces grficas de usuario son Swing y AWT, estas proporcionan los siguientes administradores de diseo para el acomodo de componentes (Oracle, 2012): BorderLayout: esta distribucin acomoda los componentes en mximo 5 ubicaciones del frame, estas son arriba (PAGE_START), abajo (PAGE_END), izquierda (PAGE_START),derecha (PAGE_END) y centro (PAGE_CENTER), tal como se muestra en la siguiente imagen:
Ejemplo de BorderLayout
Ejemplo de BoxLayout
Lo sealado sera el rea implementada.
CardLayout: permite implementar un rea que contiene diferentes componentes en diferentes momentos, observa el ejemplo:
Ejemplo de CardLayout FlowLayout: esta distribucin coloca los elementos por filas, de izquierda a derecha, hasta acabar con el espacio, entonces crea una nueva fila debajo, como se muestra en seguida:
De izquierda a derecha.
Ejemplo de FlowLayout
GridLayout: esta distribucin acomoda los componentes en filas y columnas, ajusta los elementos a que tengan un tamao similar, tal como lo veras en el siguiente ejemplo:
10
Ejemplo de GridLayout
GridBagLayout: alinea los elementos en filas y columnas, como el anterior, con la diferencia de que permite que un componente cubra varias filas y/o columnas presentados en el siguiente ejemplo:
Ejemplo de GridBagLayout GroupLayout: maneja un diseo de los elementos verticales y horizontales de manera separada, por lo que cada una cuenta con una configuracin independiente, tal como lo veras a continuacin:
Vertical
SpringLayout: esta distribucin permite definir la relacin de espacio entre los componentes y sus bordes, observa el ejemplo:
11
Ejemplo de SpringLayout
De forma predeterminada cada contenedor tiene asignado un diseo del tipo BorderLayOut, tambin se puede dejar a un frame sin administrador de estilo, de manera que los elementos que se agreguen se posicionen en base a coordenadas. Hasta este punto hemos visto los contenedores (paneles y marcos), as como las distribuciones (layout) para el acomodo de componentes dentro de los contenedores. En los temas siguientes veremos los dems componentes grficos.
2.2. Controles
En los siguientes apartados observaras todo lo relacionado con el tema controles, con los que podrs comenzar a crear apariencias grficas ms sofisticadas para los programas que vayas creando. Realizando un recuento de la unidad, en el apartado anterior se vieron contenedores, que son donde se colocan los componentes, en este segundo subtema se vern esos componentes grficos, ya que son aquellos elementos que ayudan a conformar la apariencia de una aplicacin.
2.2.1. Etiqueta
El primer componente de los controles que veremos es uno de los ms utilizados para colocar textos en la apariencia grfica de una aplicacin sin que se requiera modificarlos. Por lo general este componente es utilizado para el nombrado de campos. Al igual que todos los componentes las etiquetas tienen una gran cantidad de propiedades, entre las ms comnmente utilizadas se encuentra, la tipografa de la fuente, as como el color. Como ejemplo de la creacin de etiquetas, veamos el siguiente cdigo, en donde se representa el uso de sus propiedades: Ejemplo de cdigo 3. Declaracin y uso de etiquetas package GUI;
12
JLabel etiq1= new javax.swing.JLabel(); etiq1.setText("Ejemplo1"); etiq1.setFont(new java.awt.Font("Calibri", 1, 11)); JLabel etiq2= new javax.swing.JLabel(); etiq2.setText("Ejemplo2"); etiq2.setForeground(Color.yellow); JLabel etiq3= new javax.swing.JLabel(); etiq3.setText("Ejemplo3"); etiq3.setVisible(false); frame.add(etiq1, BorderLayout.PAGE_START); frame.add(etiq2, BorderLayout.CENTER); frame.add(etiq3, BorderLayout.PAGE_END);
13
2.2.2. Botones
El tema que trataremos en este apartado es el de botones, en este veremos cmo se construyen y se manipulan sus propiedades, para que puedas ir construyendo interfaces grficas con la funcionalidad (manejo de eventos) que los botones proporcionan. Estos componentes son tpicamente utilizados para recibir eventos y desencadenar el funcionamiento de las aplicaciones. Por lo general el texto que tienen los botones indica la accin que este desencadenar. Veamos el siguiente ejemplo, donde podrs observar la creacin de botones, as como la personalizacin de sus propiedades: Se sombrea en azul la definicin del paquete, libreras a utilizar, autor, as como la declaracin de la clase y el mtodo. En sombreado verde se tiene la creacin del marco sobre el que se colocarn las etiquetas. En sombreado morado se tienen los botones, en donde veras que:
14
Ejemplo de cdigo 4. Declaracin y uso de botones package GUI; import java.awt.BorderLayout; import java.awt.Color; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; importjavax.swing.*; /** * @author ESAD */ public class marco { public static void main (String args[]){ JFrame frame=new JFrame("Marco / Frame"); frame.setLocation(200, 200); frame.setVisible(true); frame.setSize(300, 300); frame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e){ System.exit(0); } });
JButtonbtn = new javax.swing.JButton(); btn.setText("Boton1"); btn.setMnemonic('B'); JButton btn2 = new javax.swing.JButton(); btn2.setText("Boton2");
15
16
Ejemplo de cdigo 5. Declaracin y uso de casillas de activacin package GUI; import java.awt.BorderLayout; import java.awt.Color; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; importjavax.swing.*; /** * @author ESAD */ public class casilla { public static void main (String args[]){ JFrame frame=new JFrame("Marco / Frame"); frame.setLocation(200, 200); frame.setVisible(true); frame.setSize(300, 300); frame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e){ System.exit(0); } }); JCheckBox check1 = new javax.swing.JCheckBox(); check1.setText("Chek1"); JCheckBox check2 = new javax.swing.JCheckBox(); check2.setText("Chek2"); check2.setSelected(true); JCheckBox check3 = new javax.swing.JCheckBox(); check3.setText("Chek3"); check3.setForeground(Color.red);
17
18
19
Ejemplo de cdigo 9. Declaracin y uso de campo de texto package GUI; import java.awt.BorderLayout; import java.awt.event.WindowAdapter;
20
21
22
23
2.2.7. Separador
Para mantener una apariencia grfica ordenada, comnmente se utilizan secciones en la interfaz, para tener as tambin tener ordenados los componentes grficos con que se cree esta. Una de las formas de hacer esto es mediante paneles, y otra manera es utilizar separadores, que son componentes grficos que ayudan en la divisin de interfaces. Los separadores son lneas que se pintan sobre los marcos de manera horizontal o vertical, para dividir el espacio de un marco. Veamos el siguiente ejemplo de cdigo, donde se demuestra y explica la creacin y uso de separadores: Se sombrea en azul la definicin del paquete, libreras a utilizar, autor, as como la declaracin de la clase y el mtodo. En sombreado verde se tiene la creacin del marco sobre en el cual se aplicar el separador, as como la declaracin de las etiquetas de apoyo para mostrar el ejemplo de uso de los separadores. En sombreado morado se tiene el ejemplo del separador, que se declara (con new) y se indica la direccin, en este caso es horizontal, vea que al aadir los componentes al marco se hizo, de la siguiente manera: o Componente separador componente. Indicando que el separador deba ubicarse entre ellos. En sombreado rojo se tiene la adicin de las etiquetas de apoyo al marco, as como del separador. Ejemplo de cdigo 12. Declaracin y uso de separador package GUI; import java.awt.BorderLayout; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; importjavax.swing.*;
24
2.2.8. Spinner
Existen situaciones en las que requerimos que los usuarios nos den alguna informacin, pero esta informacin puede ser elegida de un conjunto de valores ordenados de manera consecutiva, para estas ocasiones es recomendable utilizar el componente grfico spinner. Este componente es una pequea caja de texto, con dos flechas a la derecha, una hacia arriba y otra hacia abajo; con las fechitas se puede ir incrementando o reduciendo su valor.
25
26
2.2.9. rbol
Este componente grfico a diferencia de los anteriores crea un rbol de informacin como tal, permitiendo visualizar cada uno de los nodos y ver si tiene hijos o no, as como desplegar y replegar a los hijos de cada nodo para ir revisando la informacin. El componente rbol se visualiza de manera muy similar a lo que muestran los exploradores de archivos, mostrando los nodos y sus respectivos hijos, que podramos comprarlo como carpetas y archivos. Para su creacin, se requieren padres e hijos, los cuales normalmente son utilizados para mostrar archivos, o informacin que pueda ser categorizada de manera jerrquica. Veamos el siguiente ejemplo de cdigo donde se crea y maneja un rbol: Se sombrea en azul la definicin del paquete, libreras a utilizar, autor, as como la declaracin de la clase y el mtodo. En sombreado verde se tiene la creacin del marco sobre el que se colocar el rbol.
27
Ejemplo de cdigo 14. Declaracin y uso de casillas de rbol package GUI; import java.awt.BorderLayout; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; importjavax.swing.*; /** * @author ESAD */ public class arbol{ public static void main (String args[]){ JFrame frame=new JFrame("Marco / Frame"); frame.setLocation(200, 200); frame.setVisible(true); frame.setSize(200, 500); frame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e){ System.exit(0); } }); JTreearbol= new javax.swing.JTree(); javax.swing.tree.DefaultMutableTreeNode e1 = new
28
29
La imagen cuenta con tres secciones que se describen a continuacin: Equivalencia de moneda, se tiene una lista desplegable para elegir una moneda, se oprime el botn convertir y muestra la equivalencia en la caja de texto que esta junto a pesos. Equivalencia de grados, tiene un spinner numrico para ingresar los grados centgrados, las casillas de activacin si fueron seleccionadas mostraran la equivalencia en las cajas de texto que estn junto a ellas, si no se eligi, no muestra nada al pulsar el botn convertir. Equivalencia de longitud se ingresa el nmero de pulgadas, yardas y/o millas y al oprimir el botn convertir muestra en la caja de texto su equivalencia en centmetros, metros y/o millas. Ahora analicemos el cdigo que cre la interfaz grfica mostrada en la imagen anterior, as como la funcionalidad de esa interfaz: El cdigo con sombreado azul: contiene la declaracin del paquete, el autor, la clase, definicin del autor y las llaves correspondientes. El bloque de cdigo sombreado rosa: tiene la declaracin de todos los componentes grficos que se estarn utilizando en el programa, ntese que estas declaraciones estn fuera de todos los mtodos, lo que significa que estn declarados a nivel de clase, recuerden que esto se hace cuando las variables se utilizarn en toda la clase sin distincin, esto tiene la intencin de poder manipular cada uno de los componentes grficos desde cualquier parte de la clase. La seccin morada es el mtodo que conjunta la apariencia total: o Dentro de este mtodo se crea el marco principal, y la definicin de sus caractersticas, o Adems se mandan llamar los mtodos de aparienciaMoneda(); aparienciaGrados(); aparienciaLongitud(); que cada uno de esos mtodos
30
Ntese en el ejemplo que el programa esta creado de manera modular, segmentado en mtodos, respetando as el paradigma orientado a objetos. Ejemplo de cdigo 15. Programa conversor de unidades package GUI; import java.awt.BorderLayout; import java.awt.GridLayout; import java.awt.event.MouseAdapter;
31
32
public void aparienciaTotal(){ JFrame frame=new JFrame("Marco / Frame"); frame.setLocation(200, 200); frame.setVisible(true); frame.setSize(600, 250); frame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e){ System.exit(0); } }); aparienciaMoneda(); aparienciaGrados(); aparienciaLongitud(); frame.add(pnlMoneda, BorderLayout.WEST); frame.add(pnlGrados, BorderLayout.CENTER); frame.add(pnlLongitud,BorderLayout.EAST); } publicvoidaparienciaMoneda(){ //se configuran los componentes de moneda pnlMoneda.setBackground(new java.awt.Color(255, 255, 255)); pnlMoneda.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFa ctory.createLineBorder(new java.awt.Color(153, 0, 0)), "Equivalencia de moneda", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 11), new java.awt.Color(153, 0, 0))); lbl1.setText("De:"); lbl2.setText("A pesos:"); cmbMoneda.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Euro", "Dolar", "Libra" })); btnMoneda.setText("Convertir"); //Se agrega el manejo de eventos al boton btnMoneda.addMouseListener(new MouseAdapter() { @Override
33
34
35
//Se agrega el manejo de eventos a cada boton btnCent.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e){ convertirCm(); //se invoca al metodo moneda, que sonde se realizarn las acciones } }); btnMet.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e){ convertirMt(); //se invoca al metodo moneda, que sonde se realizarn las acciones } }); btnKm.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e){ convertirKm(); //se invoca al metodo moneda, que sonde se realizarn las acciones } });
//se agregan los componentes al panel moneda GridLayoutacomodo = new GridLayout(9,2); pnlLongitud.setLayout(acomodo); pnlLongitud.add(lbl4); pnlLongitud.add(txtPul); pnlLongitud.add(lbl5); pnlLongitud.add(txtCm); pnlLongitud.add(btnCent); pnlLongitud.add(new JLabel(" ")); pnlLongitud.add(lbl6); pnlLongitud.add(txtYar); pnlLongitud.add(lbl7); pnlLongitud.add(txtMt); pnlLongitud.add(btnMet);
36
37
38
Al ser la barra de men un contenedor de elementos, solo requerimos declararla, lo que conforma en si este elemento sern las acciones que se adicionen.
Ejemplo de cdigo 17. Declaracin y uso de barra de men package GUI; import java.awt.BorderLayout; import java.awt.Color; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; importjavax.swing.*; /**
39
En seguida veremos cmo crear elementos del men que son las opciones que se nos mostrarn; las cuales deben estar contenidas en la barra de men para que sean visibles.
40
Ejemplo de cdigo 18. Declaracin y uso de men package GUI; import java.awt.BorderLayout; import java.awt.Color; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; importjavax.swing.*; /** * @author ESAD */ public class menu{ public static void main (String args[]){ JFrame frame=new JFrame("Marco / Frame"); frame.setLocation(200, 200); frame.setVisible(true); frame.setSize(300, 200); frame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e){ System.exit(0); } }); JPanelpnl = new javax.swing.JPanel(); pnl.setBackground(Color.CYAN); frame.add(pnl, BorderLayout.PAGE_END);
41
Mens Para comprender mejor el acomodo de la imagen anterior revisa lo siguiente: El elemento principal es la barra de men Despus los elementos del men, que son los que aparecen inmediatamente sobre la barra, estos se aaden precisamente a la barra. Si el elemento de men va a desplegar otras opciones se crean submens y estos se agregan al elemento de men de donde se van a desplegar. Si el submen requiere tambin que se desplieguen otros sub-submens, se agregan estos al submen de donde se deber desplegar. Adems de los mens tradicionales como el que acabamos de revisar tambin existe el men emergente el cual veremos a continuacin.
42
Ejemplo de cdigo 19. Declaracin y uso de men emergente package GUI; import java.awt.BorderLayout; import java.awt.Color; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; importjavax.swing.*; /** * @author ESAD */ public class menu{ public static void main (String args[]){ JFrame frame=new JFrame("Marco / Frame"); frame.setLocation(200, 200); frame.setVisible(true); frame.setSize(300, 200); frame.addWindowListener(new WindowAdapter() {
43
2.3.4. Separador
El separador de men es el mismo concepto del separador de ventana visto anteriormente (2.2.7. Separador), ste solo es la creacin de una lnea divisoria para separar elementos de un men, su declaracin es la misma y solo se aade entre los componentes que se quiera separar. Observa el siguiente ejemplo de cdigo y su imagen, en donde se est agregando un submen, despus se coloca un separador y despus otro submen, lo que mostrar una divisin entre los submens. Ejemplo de cdigo 20. Declaracin y uso de separador menu.add(subelemento1); menu.add(new JSeparator(SwingConstants.HORIZONTAL)); menu.add(subelemento2);
44
2.4. Ventanas
Hasta ahora se han visto diferentes componentes grficos con los que se crean en una sola pantalla, ahora veremos cmo crear diferentes pantallas o ventanas en una misma aplicacin. Es decir construiremos diferentes marcos que se comuniquen entre s, adems de conocer las ventanas auxiliares que pueden dar informacin a los usuarios (cuadros de dialogo), ventanas que pueden proporcionarnos informacin de archivos que tiene nuestra computadora (JFileChooser) y el cambio de una ventana (marco) a otra.
45
Dialogo de confirmacin. Dialogo de entrada: Este tipo de cuadro de dialogo solicita el ingreso de algn dato en particular, el cdigo que lo crea est en morado dentro del ejemplo de cdigo 21, ntese que est igualado a una cadena, pues automticamente este dialogo retorna en una cadena lo que el usuario haya capturado en el cuadro de dialogo, si se requiere otro tipo de dato tendr que realizarse el casting (conversin de tipo de datos) necesario. Este cuadro de dialogo se ejemplifica en la siguiente imagen.
Dialogo de entrada. Dialogo de entrada personalizada: Este cuadro de dialogo al igual que el anterior solicita el ingreso de algn dato en particular, pero adems la entrada de esos datos puede personalizarse, en este caso el cdigo que lo crea, est en morado obscuro dentro del ejemplo de cdigo 21, ntese que primero se cre un arreglo de objetos llamado valores, donde se ingresan los datos de la lista que se quiere desplegar. La siguiente lnea recibir el objeto elegido del cuadro de dialogo, que tiene como parmetros el ttulo del cuadro de dilogo, as como el mensaje que mostrar se indica que es un mensaje de informacin y despus se pasa el arreglo de objetos, se indica tambin el valor que mostrar por defecto (valores[0]).El resultado de ese cdigo implementado se muestra en la siguiente imagen.
46
Mensaje de cuidado.
Mensaje de error.
Mensaje plano. Dialogo opcional: En este cuadro de dialogo pueden personalizarse los botones que tendr, as como lo que estos dirn, si has observado en todos los ejemplos anteriores no se indica nada sobre los botones que aparecern, ya que estos se crean automticamente, pero en este cuadro de dialogo en particular puedes personalizar los botones. Como podrs ver en el ejemplo de cdigo 21, en la seccin roja; lo primero es crear un arreglo de objetos con los botones que contendr. Despus se pasa esto como parmetro. Y el resultado se muestra en la siguiente imagen.
47
Mensaje de cuidado. Revisa detalladamente el siguiente cdigo, donde se tienen los bloques que construyen cada uno de los cuadros de dialogo mencionados. Identifica cada porcin mencionada, para que puedas comprender mejor la sintaxis. Ejemplo de cdigo 21. Declaracin y uso de cuadros de dialogo package GUI; import javax.swing.JOptionPane; /** * @author ESAD */ public class ventanas { public static void main(String[] args){ int a=JOptionPane.showConfirmDialog(null,"Deseas continuar"); String b=JOptionPane.showInputDialog("Ingresa un dato"); Object[] valores = { "Uno", "Dos", "Tres" }; ObjectvalorElegido = JOptionPane.showInputDialog(null,"Elige", "Entrada", JOptionPane.INFORMATION_MESSAGE, null,valores, valores[0]); JOptionPane.showMessageDialog(null, "Mensaje", "Cuidado", JOptionPane.WARNING_MESSAGE); JOptionPane.showMessageDialog(null, "Algofallo", "Error", JOptionPane.ERROR_MESSAGE); JOptionPane.showMessageDialog(null, "Sin icono", "Plano", JOptionPane.PLAIN_MESSAGE); Object[] opciones = { "OKI", "NOP" };
48
49
Autoevaluacin
Para reforzar los conocimientos relacionados con los temas que se abordaron en esta segunda unidad del curso, es necesario que resuelvas la actividad de autoevaluacin .
50
Autorreflexiones
Adems de enviar tu trabajo de la Evidencia de aprendizaje, es importante que ingreses al foro Preguntas de Autorreflexin y consultes las preguntas que tu Facilitador(a) presente, a partir de ellas, debes elaborar tu Autorreflexin en un archivo de texto llamado POO2_U2_ATR_XXYZ. Posteriormente enva tu archivo mediante la herramienta Autorreflexiones.
Cierre de la unidad
Has concluido la segunda unidad del curso, a lo largo de esta se ha visto el tema de componentes grficos, que son los elementos mediante los que se crean las interfaces grficas de usuario. Como parte de este tema se vieron los contenedores, que son aquellos elementos que conjuntan a los componentes grficos para acomodarlos y crear las interfaces, tambin se
51
Para saber ms
Es importante que instales un IDE en tu computadora personal para que pases todos los ejemplos de cdigo y veas cmo funcionan, de esta manera podrs analizar el funcionamiento de los cdigos presentados. *Nota: se recomienda que instales NetBeans 7.0, como IDE, por su facilidad de uso, este puede ser descargado gratuitamente de la siguiente liga: http://netbeans.org/downloads/ Si deseas conocer todas las propiedades asociadas a cada tipo de componente, revisa la tabla de los componentes de swing con las propiedades que cada uno puede asociar, que encontraras en la siguiente direccin electrnica: (Oracle,The Java Tutorials, Consultado Enero, 2012) http://docs.oracle.com/javase/tutorial/uiswing/components/index.html
52
Fuentes de consulta
Robert Eckstein, Marc Loy, Dave Wood de America OReilly 1998 JAVA Swing Estados Unidos
Francisco Javier Ceballos 2006 Interfaces grficas y aplicaciones para internet, 2da Edicin Espaa RA-MA Oracle 2011 The JAVA Tutorials Estados Unidos de America Oracle
Eckstein, R., Loy, M., Wood, D. (1998) JAVA Swing. Estados Unidos de Amrica: OReilly. Ceballos, F. (2006) Interfaces grficas y aplicaciones para internet, 2da Edicin. Espaa: RA-MA. Oracle (2011) The JAVA Tutorials. Estados Unidos de Amrica: Oracle.
53