Está en la página 1de 6

Presentado Por: Viviana Gutirrez

cod: 03270009
Presentado A: Ing. Juan Carlos Diaz
_________________________________________________________________________

Java Swing

El Swing es solo una extensin del AWT, mas ahora con componentes de interfaz
grafica, componentes que no son dependientes del sistema operativo como se trabajo
con AWT.
Las ventajas que ofrece el uso de Swing. Por ejemplo, la navegacin con el teclado es
automtica, cualquier aplicacin Swing se puede utilizar sin ratn, sin tener que
escribir ni una lnea de cdigo adicional. Las etiquetas de informacin, o "tool tips", se
pueden crear con una sola lnea de cdigo. Adems la apariencia de la aplicacin se
adapta dinmicamente al sistema operativo y plataforma en que est corriendo.

El paso de AWT a Swing es muy sencillo y no hay que descartar nada de lo que se haya
hecho con el AWT, en la mayora de los casos es suficiente con aadir una "J" al
componente AWT para que se convierta en un componente Swing.
A continuacin mostrare como se trabaja algunos de los componentes bsicos del
swing con los que trabajare para hacer una pequea aplicacin, de resto los otros solo
los nombrare.
Bordes: La clase JComponent contiene un mtodo llamado setBorder(), que permite
colocar diferentes bordes a un componente visible. se 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.
Etiquetas: Se introduce la clase JLabel para presentar estos textos en pantalla;
JLabel implementa todas las caractersticas inherentes a los componentes Swing,
como pueden ser los aceleradores de teclado, bordes, y dems. El tipo de letra con que
se presenta el texto de la etiqueta se puede cambiar fcilmente, basta con crear una
nueva fuente de caracteres e invocar al mtodo setFont() de la clase JLabel.
Botones: Se tienen varios tipos de botones y se cambia la organizacin de la seleccin
de componentes: todos los botones, cajas de seleccin, botones de seleccin y
cualquier opcin de un men deben derivar de AbstractButton. El JButton parece
igual que el botn que hay en el AWT, pero se pueden hacer muchas ms cosas con l.
Todos los botones, adems, tienen ahora la posibilidad de incorporar imgenes a travs
del objeto Icon, que se puede asignar a cualquier tipo de botn. Ademas se pueden
asignar varios iconos a un mismo botn para visualizar los diferentes estados en que

pueda encontrarse dicho botn. Adems tambin se puede crear un grupo de botones
donde se permite que cualquier AbstractButton pueda ser aadido a un
ButtonGroup.
Listas: Se trabajan mediante JList, y tienen la misma funcionalidad que AWT, lo malo
es que esta no tiene la funcion de desplazamiento as que para solucionar esto se
utiliza JScrollPane. JList tambin la posibilidad de presentar grficos, con o sin texto
asociado, y tambin proporciona un control adicional de eventos para adecuarse a los
que se producen en la manipulacin de este tipo de Componentes. Es decir, que en una
lista tambin se pueden incluir instancias de clases como JButton, JTextField,
JCheckBox, e incluso JTextArea, que es un componente multilnea.
Texto: As la clase JTextArea acta como sustituto de la clase TextArea del AWT, la
clase JTextField sustituye TextField del AWT y se incorporan las clases
JPasswordField que viene a ser equivalente al uso de JTextField junto con el
mtodo setEchoChar(), y la clase JTextPane que permite que se presente el texto con
diferentes fuentes de caracteres, colores, tamaos, etc. El cambio de las caractersticas
del texto que se presenta se realiza a travs de estilos. Un estilo es un conjunto de
caractersticas como son FontSize, ForegroundColor, isBold, isItalic, etc. y se
manipula a travs de constantes.
Swing trae un StyledEditorKit el cual dispone de un ActionListener que realiza todo
lo que debe realizar el mtodo actionPerformed(), sin necesidad de intervencin del
programador.
Tool tips e Iconos: Casi todas las clases que se usan para crear los interfaces de
usuario se derivan de JComponent. Esta clase contiene un mtodo llamado
setToolTipText( String ). As que se puede indicar un texto de informacin virtualmente
en cualquier lugar y lo nico que se necesita es invocar a este mtodo, indicando el
texto correspondiente al mensaje. Se puede utilizar un objeto Icon dentro de un
objeto JLabel, o cualquier objeto que derive de AbstractButton; incluyendo JButton,
JCheckBox, JRadioButton y los diferentes tipos de JMenuItem. Se puede utilizar
cualquier fichero gif. Para abrir ese fichero y convertirlo en imagen, simplemente se
crea un objeto ImageIcon indicndole el nombre del fichero, y ya se puede utilizar en
el cdigo el objeto Icon resultante. Pero tambin se puede utilizar el mtodo setIcon()
para aadir o cambiar un icono.
Mens: Se trabaja de la misma manera que en AWT mas el problema que se mostraba
con AWT se soluciona colocando toda la informacin de cada men en un array de
elementos de tipo Object de dos dimensiones, para facilitar la introduccin de
cualquier cosa en el array. Este array est organizado de tal forma que la primera fila
representa el nombre del men y las siguientes filas representan los elementos u
opciones del men y sus caractersticas. Las filas del array no tienen por que ser
uniformes, porque el cdigo sabe perfectamente donde se encuentra, as que no
importa que las filas sean completamente diferentes.

Escalas y Barras de Progreso: Una escala permite al usuario introducir datos


desplazando el marcador de la escala hacia un lado o hacia otro. La barra de progreso
es muy simple de controlar, pero el objeto JSlider tiene muchas opciones, que van
desde la orientacin hasta que las marcas sean ms o menos grandes.
Tablas: La JTable controla cmo se presentan los datos, siendo el TableModel quien
controla los datos en s mismos. Para crear una JTable habr pues que crear un
TableModel antes, normalmente. Se puede implementar, para ello, el interfaz
TableModel, pero es mucho ms simple heredar de la clase ayuda
AbstractTableModel.
Pestaas: el JTabbedPane, que puede manejar directamente todas las fichas, a base
de pestaas y permite cambiar a cualquiera de ellas. addTab() crea una nueva
pestaa y setSelectedIndex() indica el panel que se va a presentar en primer lugar al
arrancar el programa; en este caso se selecciona uno de en medio para mostrar que no
es necesario comenzar siempre por el primero.
Tambin encontramos la utilizacin de arboles, incorporacin de dialogos predefinidos,
paneles desplazables, manejo de teclado, adems de esto se trabaja con un ejecutable
de javael cual tiene un objeto UIManager que determina el Look-and-Fee, es decir, la
apariencia en pantalla y funcionamiento, que van a tener los Componentes Swing de
ese ejecutable. El Look-and-Feel es la apariecia que se proporciona a los diferentes
Componentes: botones, cajas de texto, cajas de seleccin, listas, etc, todo se trabaja
independientemente de la plataforma en la cual se este trabajando. Este Look and Fee
se puede personalizar mas, para esto se tendra que tener un amplio conocimiento de
java swing.
Con el fin de mostrar una pequea aplicacin de java swing desarrolle el siguiente
programa en el cual encontr que me fue muy complicado manejar la parte de mens,
mas el resto fue posible ya que es como una variacin de lo que vimos en clase.
Adems pude aclarar mucho mejor como se trabaja el API y aunque aun sigue siendo
algo complejo ya es mas entendible por mi.

Interfaz GUI en Java:


Existen tanto en java como en Matlab, interfaces grficas denominadas GUIs, las
cuales son usadas en java para la creacin de applets e interfaces grficas
usando unos componentes llamados Swing. Un ejemplo de una aplicacin de
este tipo, sera la siguiente:

Cuyas lneas de cdigo seran las siguientes:


import javax.swing.*;
public class HelloWorldSwing {

private static void createAndShowGUI() {


JFrame.setDefaultLookAndFeelDecorated(true);
JFrame frame = new JFrame("HelloWorldSwing");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel label = new JLabel("Hello World");
frame.getContentPane().add(label);
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}

Los componentes Swing se utilizan para que cada usuario cree sus propias
interfaces.
Los componentes de un GUI pueden entrar juntos en un contenedor; el siguiente
ejemplo ilustra esa situacin

Esta SwingApplication crea cuatro componentes Swing que casi siempre se usan;
un frame, o ventana principal (JFrame); un panel, (JPanel) ; un botn (JButton);
una etiqueta (JLabel); El frame es un contenedor de alto nivel. Existe
principalmente para proporcionar espacio para que se dibujen otros componentes
Swing. Los otros contenedores de alto nivel ms utilizados son los dilogos
(JDialog) y los applets (JApplet).
El panel es un contenedor intermedio. Su nico propsito hacer mas simple el
posicionamiento del botn y la etiqueta. Otros contenedores intermedios, como los
paneles desplazables, (JScrollPane) y los paneles con pestaas (JTabbedPane),
tpicamente juegan un papel ms visible e interactivo en el GUI de un programa.
El botn y la etiqueta son componentes atmicos -- componentes que existen no
para contener otros componentes Swing, sino como entidades auto-suficientes
que representan bits de informain para el usuario. Frecuentemente, los
componentes atmicos tambin obtienen entrada del usuario. El API Swing

proporciona muchos componentes atmicos, incluyendo combo boxes


(JComboBox), campos de texto (JTextField), y tablas (JTable).
Incluso el programa Swing ms sencillo tiene mltiples niveles en su rbol de
contenidos. La raz del rbol de contenidos es siempre un contenedor de alto nivel.
Este contenedor proporciona espacio para que sus componentes Swing
descendentes se dibujen a s mismo.
Cmo regla general, el panel de contenido contiene, directamente o
indirectamente, todos los componentes visibles en el GUI de la ventana. La gran
excepcin a esta regla es que si el contenedor de alto nivel tiene una barra de
men, entonces sta se sita en un lugar especial fuera del panel de contenido.
Para aadir componentes a un contenedor, se usa una de las distintas formas del
mtodo add. Este mtodo tiene al menos un argumento -- el componente a aadir.
Algunas veces se requiere un argumento adicional para proporcionan informacin
de distribucin. Por ejemplo, la ltima lnea del siguiente cdigo de ejemplo
especifica que el panel debera estar en el centro de su contenedor (el panel de
contenido).
frame = new JFrame(...);
button = new JButton(...);
label = new JLabel(...);
pane = new JPanel();
pane.add(button);
pane.add(label);
frame.getContentPane().add(pane, BorderLayout.CENTER);
Arbol de herencia de un GUI:

Como se ve en la figura, los tems de mens (incluidos los propios mens) son
simples botones. Lo curioso en este caso, es como un men, si es slo un botn,
muestra sus tems. La respuesta es que cuando se activa un men,
automticamente trae un men desplegable que muestra sus tems.

Bibliografa:
http://jungla.dit.upm.es/~santiago/docencia/apuntes/Swing/
http://www.programacion.net/java/tutorial/swing/
http://www.programacionfacil.com/java/indice.htm
http://decsai.ugr.es/~mgomez/teleco/20042005/practicaSwing/sesion1/practicaSwing.html

También podría gustarte