Vous êtes sur la page 1sur 2

HISTORIA DEL SWING La Internet Foundation Classes (IFC) eran una biblioteca grfica para el lenguaje de programacin Java

desarrollada originalmente por Netscape y que se public en 1996. Desde sus inicios el entorno Java ya contaba con una biblioteca de componentes grficos conocida como AWT. Esta biblioteca estaba concebida como una API estandarizada que permita utilizar los componentes nativos de cada sistema operativo. Entonces una aplicacin Java corriendo en Windows usara el botn estndar de Windows y una aplicacin corriendo en UNIX usara el botn estndar de Motif. En la prctica esta tecnologa no funcion: Al depender fuertemente de los componentes nativos del sistema operativo el programador AWT estaba confinado a un mnimo denominador comn entre ellos. Es decir que solo se disponen en AWT de las funcionalidades presentes en todos los sistemas operativos. El comportamiento de los controles vara mucho de sistema a sistema y se vuelve muy difcil construir aplicaciones portables. Fue por esto que el eslogan de Java "Escrbalo una vez, ejectelo en todos lados" fue parodiado como "Escrbalo una vez, prubelo en todos lados". En cambio, los componentes de IFC eran mostrados y controlados directamente por cdigo Java independiente de la plataforma. De dichos componentes se dice con frecuencia que son componentes ligeros, dado que no requieren reservar recursos nativos del sistema de ventanas del sistema operativo. Adems al estar enteramente desarrollado en Java aumenta su portabilidad asegurando un comportamiento idntico en diferentes plataformas. En 1997, Sun Microsystems y Netscape Communications Corporation anunciaron su intencin de combinar IFC con otras tecnologas de las Java Foundation Classes. Adems de los componentes ligeros suministrados originalmente por la IFC, Swing introdujo un mecanismo que permita que el aspecto de cada componente de una aplicacin pudiese cambiar sin introducir cambios sustanciales en el cdigo de la aplicacin. La introduccin de soporte ensamblable para el aspecto permiti a Swing emular la apariencia de los componentes nativos manteniendo las ventajas de la independencia de la plataforma. Tambin contiene un conjunto de herramientas que nos permiten crear un interfaz atractivo para los usuarios. QU PAQUETES SWING DEBERA UTILIZAR? El API Swing es poderoso, flexible -- e inmenso. Por ejemplo, la versin JFC 1.1 tiene 15 paquetes pblicos: javax.accessibility, javax.swing, javax.swing.border, javax.swing.colorchooser, javax.swing.event, javax.swing.filechooser, javax.swing.plaf, avax.swing.plaf.basic, avax.swing.plaf.metal, javax.swing.plaf.multi, javax.swing.table, javax.swing.text, javax.swing.text.html, javax.swing.tree,

javax.swing.undo. ALGUNOS COMPONENTES DE LA JUI DE LA NUEVA JFC COMPONENT Super clase de todas las clases de interfaz grfica.

CONTAINER Para agrupar componentes JCOMPONENT

La clase JComponent tambin contiene un mtodo llamado setBorder(), que permite colocar diferentes bordes a un componente visible. Para generar la ventana anterior, el cdigo utiliza el mtodo creaBorde() que crea un JPanel y le coloca un borde diferente en cada caso y, adems, coloca el nombre del borde en medio del panel. AbstractButton Si se quieren botones de seleccin nica, los conocidos como botones radio, que tienen la particularidad de que solamente puede haber uno seleccionado, hay que crearse un grupo de botones, aadiendo botones a ese grupo uno a uno. Pero, Swing permite que cualquier AbstractButton pueda ser aadido a un ButtonGroup. JCheckBoxMenuItem JCheckBoxMenuItem Como JCheckBox y JCheckBoxMenuItem descienden de AbstractButton, los checkboxes de Swing tienen todas las caractersticas de un botn normal como se explic en Cmo usar Buttons. Por ejemplo, podemos especificar imgenes para ser utilizadas en los checkboxes. Los Checkboxes son similares a los botones de rdio, pero su modelo de seleccin es diferente, por convencin JToggleButton Es como un botn normal, pero al ser pinchado por el usuario queda activado. JCheckbox Los JCheckboxes son similares a los botones de rdio, pero su modelo de seleccin es diferente, por convencin. Cualquier nmero de Jcheckboxes en un grupo -- ninguno, alguno o todos -pueden ser seleccionados. Por otro lado, en un grupo de botones de radio, slo puede haber uno seleccionado. (Grupo de botones donde cada uno es independiente, es decir un grupo donde se puede seleccionar los que el usuario desee). JInternalFrame 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. Para ms informacin sobre el uso de API que JDesktopPane hereda de JLayeredPane, puedes ver Cmo usar LayeredPane. Aqu podemos ver una imagen de una aplicacin que tiene dos frames internos dentro de un frame normal. JList Las lista y cajas "combo" en Swing funcionan del mismo modo que lo hacan en el AWT, aunque tienen incrementada la funcionalidad a travs de algunas funciones de conveniencia que se han incorporado.

Por ejemplo, JList tiene un constructor al que se puede pasar un array de objetos String para que los presente. La imagen siguiente es el resultado que se obtiene en pantalla tras la ejecucin del ejemplo, y despus de haber seleccionado uno de los elementos en la caja combo y abrirla para proseguir la seleccin de otra de las opciones o elementos que se permite elegir. JMenuBar Un men proporciona una forma de ahorrar espacio y permitir al usuario elegir una entre varias opciones. Otros componentes con los que el usuario puede hacer una eleccin incluyen combo boxes, lists, radio buttons, y tool bars. Si alguno de los tems de un men realiza una accin que est duplicada en otro tem de men o en un botn de una barra de herramientas, adems de esta leccin deberamos leer Como usar Actions. 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. Como todos los componentes Swing, JPanel permite aadirle bordes y determinar si utiliza el doble buffer para aumentar el rendimiento. Esta imagen muestra una aplicacin que utiliza un panel y su controlador de distribucin por defecto, FlowLayout, para mostrar tres botones. La clase principal de esta aplicacin es ButtonDemo, que es una subclase de JPanel. Aqu puedes ver el cdigo del constructor de ButtonDemo que le aade los tres botones al panel. JSCROLLBAR Se trata de un scroll con mltiples funciones. Puede servirnos para tomar una entrada numrica del usuario o sobre todo para scrolear a lo largo de regiones demasiado grandes para ser vistas en la pantalla o ventana en que representamos la informacin. Hay un componente de Swing: JScrollPanel, que es un panel qu ya lleva incorporados por defecto dos scrolls, nosotros lo nico que tenemos que hacer es introducir en l la imagen o texto a lo largo del cual queremos scrolear y l se encargar de todo lo dems. JscrollBar posee mtodos para fijar el valor numrico correspondiente al mnimo y mximo de las posiciones del scroll, para ver qu valor posee el scroll en un determinado momento, para poner el scroll en un determinado valor. JTEXTCOMPONENT El API de texto de Swing es grande. Este tutorial ha mostrado un sencillo ejemplo del uso de cada componente, cubriendo la lnea de fundada por JTextComponent, y muestra como utilizar esa herencia pra hacer cosas interesantes con los componentes de texto. Tambin es posible crear bordes propios y colocarlos dentro de botones, etiquetas, etc.; virtualmente en cualquier cosa que derive de JComponent. JEditorPane Un componente de texto con estilo, multi lnea y opcionalmente editable. JTextPane Es el que permite estos cambios siempre tiene un estilo por defecto como modelo, DefaultStyleDocument. En la figura siguiente, la primera lnea se ha escrito nada ms arrancar el programa, es decir, con el estilo por defecto de la aplicacin, y las siguientes se intodujeron cambiando al estilo correspondiente al color del texto. JTextArea

Un componente de texto plano, multi lnea y opcionalmente editable. JTextField Un componente de texto plano, de una sola lnea y opcionalmente editable. JPasswordField Un componente de texto plano, de una sola lnea y opcionalmente editable que enmascara su contenido. JAPPLET Esquema de seguridad que permite que los applets que se ejecutan en el equipo no tengan acceso a partes sensibles (por ej. no pueden escribir archivos), a menos que uno mismo le d los permisos necesarios en el sistema; la desventaja de este enfoque es que la entrega de permisos es engorrosa para el usuario comn, lo cual juega en contra de uno de los objetivos de los Java applets: proporcionar una forma fcil de ejecutar aplicaciones desde el navegador web. JDIALOG Es un Componente que sirve para presentar dilogos que son ventanas auxiliares que se presentan cuando se registra un evento dentro de un programa, sirven para prevencin o en su defecto se puede utilizar para dar informacin sobre algo, los dilogos que JDialog muestra pueden ser modales o no modales, esto quiere decir que si son modales la ventana del dilogo bloquea las entradas a otras ventanas, este tipo de dilogos se pueden hacer tambin con JOptionPane. Todos los dilogos dependen de un frame, las modificaciones que se le hagan al frame afectaran a el dilogo, en caso de que el frame sea cerrado, minimizado o maximizado, sus dilogos tendrn el mismo comportamiento La Clase JDialog es una subclase de java. awt. Dialog del AWT JFRAME Ventana que no est contenida en otras ventanas. JWINDOW Es un contenedor pesado Este no tiene los elementos normales que aparecen en otras ventanas, como botones de control de ventanas (cerrar, minimizar, maximizar), barra para el nombre de la ventana o los bordes del frame. Por esto JWindow es perfecto para crear ventanas splahs. El cdigo anterior asume que la imagen esta localizada en el directorio de trabajo. Esta imagen es cargada mediante de una clase ImageIcon, la imagen es situada en el centro del JWindow. El JWindow esta diseado para dejar a Swing que calcule el tamao apropiado, y despus la desplace hasta el centro de la pantalla y entonces la hace visible.