Sei sulla pagina 1di 21

6/12/2011

MODULO 1 CLASE 3

1.6 Frames Internos


JPanel JInternalFrame JDesktopPane JScrollPane JTabbedPane JToolBar

6/12/2011

1.6.1 JPanel
JPanel es un contenedor de propsito general para componentes de peso ligero. Como todos los contenedores, utiliza un Controlador de Distribucin para posicionar y dimensionar sus componentes. Los mtodos que ms se utilizan de un objeto JPanel son aquellos que hereda de sus superclases JComponent, Container y Component.

1.6.1 JPanel

6/12/2011

1.6.2 JInternalFrame
Con la clase JInternalFrame, se puede mostrar un JFrame - como una ventana dentro de otra ventana. Para crear un frame interno que parezca un dilogo sencillo, se pueden utilizar los mtodos showInternalXxxDialog de JOptionPane. Normalmente, los frames internos se muestran dentro de un JDesktopPane. El cdigo para utilizar frames internos es similar en muchas formas al cdigo para utilizar frames normales Swing. Como los frames internos tienen sus paneles raz, configurar el GUI para un JInternalFrame es muy similar a configurar el GUI para un JFrame. JInternalFrame tambin proporciona otro API, como pack, que lo hace similar a JFrame.

1.6.2 JInternalFrame

6/12/2011

1.6.3 JDesktopPane
JDesktopPane es una subclase de JLayeredPane al que se le ha aadido el API para manejar el solapamiento de mltiples frames internos. Generalmente, se pone el panel superior dentro del panel de contenido de un JFrame.

1.6.4 JScrollPane
Un JScrollPane proporciona una vista desplazable de un componente ligero. Cuando el estado de la pantalla real est limitado, se utiliza un ScrollPane para mostrar un componente que es grande o cuyo tamao puede cambiar dinmicamente.

6/12/2011

1.6.5 JTabbedPane
Con la clase JTabbedPane, podemos tener varios componentes (normalmente objetos JPanel) compartiendo el mismo espacio. El usuario puede elegir qu componente ver seleccionando la pestaa del componente deseado.

1.6.5 JTabbedPane

6/12/2011

1.6.5 JTabbedPane

1.6.5 JTabbedPane

6/12/2011

1.6.5 JTabbedPane

1.6.6 JToolBar
Un objeto JToolBar crea una barra de herramientas con iconos dentro de una fila o una columna. Normalmente las barras de herramientas proporcionan acceso a funcionalidades que tambin se encuentran en tems de mens.

6/12/2011

1.6.6 JToolBar

1.7 Cuadros de dilogo


Los dilogos son ventanas ms limitadas que los Frames. Los dilogos pueden ser: No modales. No impiden a los usuarios interactuar con la aplicacin con la que estn, o con otras, mientras el cuadro est abierto. Modales. Impiden que los usuarios interacten con la aplicacin hasta que el dilogo sea cerrado, sin embargo, no impiden la interaccin con otras aplicaciones mientras el dilogo est abierto.

6/12/2011

1.7 Cuadros de dilogo


Para crear dilogos a medida, y que si se desea no sean modales, hay que emplear la clase JDialog.

1.7.1 JOptionPane
showMessageDialog Muestra un dilogo modal con un botn, etiquetado "OK". Se puede especificar fcilmente el mensaje, el icono y el ttulo que mostrar el dilogo. showConfirmDialog Muestra un dilogo modal con dos botones, etiquetados "Yes" y "No". Estas etiquetas no son siempre terriblemente descriptivas con las actiones especficas del programa que causan. showInputDialog Muestra un dilogo modal que obtiene una cadena del usuario. Un dilogo de entrada muestra un campo de texto para que el usuario teclee en l, o un ComboBox no editable, desde el que el usuario puede elegir una de entre varias cadenas. showOptionDialog Muestra un dilogo modal con los botones, los iconos, el mensaje y el ttulo especificado, etc. Con este mtodo, podemos cambiar el texto que aparece en los botones de los dilogos estndar. Tambin podemos realizar cualquier tipo de personalizacin..

6/12/2011

1.7.2 JFileChooser
La clase JFileChooser proporciona un interfaz para elegir un fichero de una lista. Un selector de ficheros es un componente que podemos situar en cualquier lugar del GUI de nuestro programa. Los selectores de ficheros se utilizan comnmente para dos propsitos: 1. 2. Para presentar una lista de ficheros que pueden ser abiertos por la aplicacin. Para permitir que el usuario seleccione o introduzca el nombre de un fichero a grabar. El selector de ficheros ni abre ni graba ficheros. Presenta un GUI para elegir un fichero de una lista. El programa es responsable de hacer algo con el fichero, como abrirlo o grabarlo.

1.7.3 JColorChooser
Se puede utilizar la clase JColorChooser para proporcionar a los usuarios una paleta para elegir colores. Un selector de color es un componente que se puede situar en cualquier lugar dentro del GUI de un programa.

10

6/12/2011

1.8 Administradores de diseo ( Layouts )


Cmo se colocan los componentes (usando el mtodo add) depende de la composicin (layout).

1.8.1 BorderLayout
Se ponen los componentes en un lateral o en el centro.

Por defecto, en marcos.

11

6/12/2011

1.8.2 FlowLayout
Los componentes se ponen de izquierda a derecha hasta llenar la lnea, y se pasa a la siguiente. Cada lnea se centra. Por defecto, en paneles y applets.

1.8.3 GridLayout
Se colocan los componentes en una rejilla rectangular (filas x cols). Se aaden en orden izquierda-derecha y arriba-abajo.

12

6/12/2011

1.9 Mens
Un men proporciona una forma de ahorrar espacio y permitir al usuario elegir una entre varias opciones.

1.9.1 JMenuBar
Este componente es muy til ya que representa la barra de men que vemos siempre en todo programa y es muy til para acceder a la informacin de forma mas fcil y organizada.

13

6/12/2011

1.9.2 JMenu
Un men es un objeto que se le aade al JMenuBar, y sirve para almacenar items comunes. JMenu menu=new JMenu(); Esto crea un men vacio sin texto. JMenu menu=new JMenu(String texto); Esto crea un men con el texto que especificamos.

1.9.3 JMenuItem
Un JMenuItem es un elemento del men y al ser pulsado genera un evento, o sea, abre una ventana, pide datos o cualquier evento. JMenuItem elemento=new JMenuItem(); Esta instruccin crea un elemento de men por defecto, sin texto ni iconos. JMenuItem elemento=new JMenuItem(String texto); Esto crea un elemento de men con el texto especificado. JMenuItem elemento=new JMenuItem(String texto, Icono imagen);

14

6/12/2011

1.9.4 JCheckBoxMenuItem
Crea un tem de men que se parece y acta como un checkbox. Si se especifica un icono, el tem de men utiliza el icono en vez del icono por defecto de los checkboxes. El argumento string, si existe, especifica el texto que debera mostrar el tem de men.

Si se especifica true para el argumento booleano, el tem de men estar inicialmente seleccionado. De lo contario el tem de men est desactivado.

1.9.5 JRadioButtonMenuItem
Crea un tem de men que se parece y acta como un radio buttom. Si se especifica un icono, el tem de men utiliza el icono en vez del icono por defecto de los botones de radio. El argumento string, si existe, especifica el texto que debera mostrar el tem de men. El tem de men est inicialmente desactivado.

15

6/12/2011

1.9.6 JPopUpMenu
Crea un men desplegable. El argumento string opcional especifica el ttulo que el aspecto y comportamiento podra mostrar como parte de la ventana desplegable.

1.9.7 Manejo de eventos de mens


public void actionPerformed( ActionEvent evento ) { // procesar seleccin de color for ( int cuenta = 0; cuenta < elementosColor.length; cuenta++ ) if ( elementosColor[ cuenta ].isSelected() ) { pantallaEtiqueta.setForeground( valoresColor[ cuenta ] ); break; } // procesar seleccin de tipo de letra for ( int cuenta = 0; cuenta < tiposLetra.length; cuenta++ ) if ( evento.getSource() == tiposLetra[ cuenta ] ) { pantallaEtiqueta.setFont( new Font( tiposLetra[ cuenta ].getText(), estilo, 72 ) ); break; } repaint(); }

16

6/12/2011

1.10 Controles
JSpinner JSlider JProgressBar JTable JTree

1.10.1 JSpinner
El JSpinner es un componente java en el que se presenta una caja de texto con dos flechitas en el lado derecho, una hacia arriba y la otra hacia abajo. En el campo de texto se muestra un valor. Con las flechitas arriba y abajo podemos incrementar o decrementar ese valor.

17

6/12/2011

1.10.2 JSlider
Se utiliza un JSlider para permitir que el usuario introduzca un valor numrico limitado por una valor mximo y un valor mnimo. Mediante la utilizacin de un Slider en vez de textfield, se eliminan errores de entrada.

1.10.3 JProgressBar
Una barra de progreso que muestra grficamente qu cantidad total de la tarea. Si queremos ms control sobre la configuracin de la barra de progreso. Si estamos trabajando directamente con una barra de progreso, podemos hacer que se muestre verticalmente, podemos proporcionar una cadena para que la muestre, podemos registrar oyentes de cambio, y podemos proporcionarle un modelo de datos personalizado. Necesitamos ms de una barra de progreso. Con algunas tareas, necesitamos monitorizar ms de un parmetro. Por ejemplo, un programa de instalacin podra monitorizar el espacio de disco utilizado adems del nmero de ficheros que ya han sido instalados.

18

6/12/2011

1.10.4 JTable
Con la clase JTable, se pueden mostrar tablas de datos, y opcionalmente permitir que el usuario los edite. JTable no contiene ni almacena datos, simplemente es una vista de nuestros datos.

1.10.5 JTree
Con la clase JTree, se puede mostrar un rbol de datos. JTree realmente no contiene datos, simplemente es un vista de ellos. Cada fila contiene exactamente un tem de datos (llamado un nodo). Cada rbol tiene un nodo raz (llamado Root), del que descienden todos los nodos. Los nodos que no pueden tener hijos se llaman nodos leaf (hoja).

Normalmente el usuario puede expandir y contraer los nodos que no son hojas haciendo que sus hijos sean visibles o invisibles pulsando sobre l. Por defecto, los nodos que no son hojas empiezan contrados.

19

6/12/2011

1.11 Eventos
Eventos o sucesos Mensajes asncronos producidos por interaccin. Interaccin del usuario con la interfaz grfica de un programa

Ejemplo:
1. 2. Interaccin con el ratn (hacer click, arrastrar, mover, etc). Introducir texto en un determinado campo. Estos mensajes son objetos. La programacin basada en eventos consiste en proporcionar mtodos que respondan a dichos mensajes

1.11.1 Modelo de delegacin de eventos.


Delegacin La responsabilidad de gestionar un evento, que ocurre en un objeto (fuente), la tiene otro objeto (oyente). Fuente (Source) Objeto que origina o lanza eventos. En el API de cada objeto se define el conjunto de eventos que origina Proporciona un conjunto de mtodos para registrar y eliminar oyentes especficos para estos eventos set<TipoEvento>Listener - un nico oyente add<TipoEvento>Listener - mltiples oyentes remove<TipoEvento>Listener - elimina un oyente Oyente (Listener) Objeto que gestiona o responde a los eventos Define uno o ms mtodos a ser invocados por la fuente de eventos en respuesta a cada evento especfico Objeto que implementa el interfaz <TipoEvento>Listener

20

6/12/2011

1.11.1 Modelo de delegacin de eventos.


Como hay interfaces oyentes que pueden distintos subtipos de eventos la clase gestora del evento debe implementar todos los mtodos. MouseListener Mouse-down, mouse-up, mouse-enter, etc. Para cada interfaz oyente que contenga ms de un mtodo, en java.awt.event se define una clase abstracta adaptadora. Proporciona mtodos vacios para los mtodos de la interfaz. Nombrado: <Interfaz>Adapter MouseAdapter, WindowAdapter, ContainerAdapter. Simplifican el desarrollo ya que se pueden especializar los adaptadores y reescribir slo los mtodos relacionados con los eventos en los que est interesado.

Eventos de Ratn y Teclado PRACTICA

21

Potrebbero piacerti anche