16
INTRODUCCION Java es un lenguaje de programación orientado a objetos que permite la creación de GUI (interfaz grafica de usuario) que es el conjunto de componentes gráficos que permiten la interacción entre el usuario y la aplicación y es fundamental en el diseño de cualquier aplicación. En java existen dos tipos de interfaces o Api’s que posee componentes similares para la creación de aplicaciones en donde el programador pueda crear botones, etiquetas de textos, insertar imágenes, casillas etc. , estos son AWT (Abstract Window ToolKit) y SWING. Estos tipos de aplicaciones permiten el desarrollo de GUI, en donde la más básica es AWT y la más nueva es Swing, en donde se pueden crear aplicaciones más complejas. El propósito es mostrar al lector que entre AWT y SWING existen diferencias no muy distantes, ya que una es descendiente de la otra, y ambas demuestran ser útiles según su compatibilidad y aplicación. A continuación se describen las diferencias de ambas, así como sus características y los métodos que ambos utilizan. 3

Trabajo Awt y Swing

Embed Size (px)

DESCRIPTION

descripcion basica de los componentes de interfaz grafica de java: AWT y SWING.

Citation preview

INTRODUCCION

Java es un lenguaje de programacin orientado a objetos que permite la creacin de GUI (interfaz grafica de usuario) que es el conjunto de componentes grficos que permiten la interaccin entre el usuario y la aplicacin y es fundamental en el diseo de cualquier aplicacin. En java existen dos tipos de interfaces o Apis que posee componentes similares para la creacin de aplicaciones en donde el programador pueda crear botones, etiquetas de textos, insertar imgenes, casillas etc., estos son AWT (Abstract Window ToolKit) y SWING. Estos tipos de aplicaciones permiten el desarrollo de GUI, en donde la ms bsica es AWT y la ms nueva es Swing, en donde se pueden crear aplicaciones ms complejas. El propsito es mostrar al lector que entre AWT y SWING existen diferencias no muy distantes, ya que una es descendiente de la otra, y ambas demuestran ser tiles segn su compatibilidad y aplicacin. A continuacin se describen las diferencias de ambas, as como sus caractersticas y los mtodos que ambos utilizan.

AWT

El Abstract Windows Toolkit es una librera portable para aplicaciones y/o applets. Provee la conexin entre la aplicacin y el sistema de ventanas nativo. Los componentes AWT dependen de sus contrapartes en cdigo nativo (llamados peers) para mantener su funcionalidad, por lo que frecuentemente son llamados componentes heavyweight. Adems permite a los programadores hacer aplicaciones JAVA con componentes GUI (como ventanas, botones, barras, campos de texto, etc). La mquina virtual java es la encargada de traducir los llamados de AWT a los que corresponden al sistema operativo donde est corriendo.

CARACTERISTICAS DE AWT1. Amplio conjunto de componentes para interfaz grafica de usuario.2. Un modelo robusto para el manejo de eventos.3. Herramientas para manejo de graficas e imgenes, incluyendo clases para forma, color y tipo de letra.4. Clases para transferencia de datos.

FORTALEZAS Y DEBILIDADES DE AWTFortalezas:1. Sus componentes son ms rpidos porque usan peers nativos.2. Sus componentes reflejan mejor la interfaz propia del sistema en el que estn ejecutndose.3. La mayora de los browsers soportan las clases AWT, as los applets pueden correr sin necesidad de un Java plugin.Debilidades: 1. El uso de peers nativos crea limitaciones de plataforma ya que algunos componentes podran no funcionar en algunas plataformas.2. Muchas compaas, incluyendo Borland y Sun, basan el desarrollo de nuevos componentes en Swing.3. Los componentes AWT no soportan caractersticas como iconos y tips.4. La versin del AWT que Sun proporciona con el JDK se desarroll en slo dos meses y es la parte ms dbil de todo lo que representa Java como lenguaje. El entorno que ofrece es demasiado simple, no se han tenido en cuenta las ideas de entornos grficos novedosos. Quiz la presin de tener que lanzar algo al mercado haya tenido mucho que ver en la pobreza de AWT.5. Los componentes de AWT dependen de componentes de cdigo nativo, por lo que a los componentes se les suele llamar heavyweight components (componentes pesados). AWT est pensado para aplicaciones que corran en navegadores antiguos y definido con los mnimos de cualquier aplicacin, es por esto que no incluye componentes complejos como pueden ser tablas, vistas de rbol, barras de progreso y otros.

MTODOS DE AWTImgenes:1. boolean drawImage(Image img, int x, int y, ImageObserver observer);2. boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, ImageObserver ob);Texto:1. void drawString(String str, int x, int y);2. void drawChars(char charArray[], int offset,3. int numChars, int x, int y);4. void drawBytes(byte byteArray[], int offset,5. int numChars, int x, int y)

Lneas:

1. void drawLine(int x1, int y1, int x2, int y2);

Mtodos de la Clase font:2. String getFamily();3. String getName();4. int getSize();5. int getStyle();6. boolean isBold();7. boolean isItalic();8. boolean isPlain();

Mtodos de clase rectangle:1. void move(int newX, int newY);2. void translate(int xChange, yChange);3. void setSize(int newWidth, int newHeight);4. void grow(int widthChange, int heightChange);5. void setBounds(int newX, int newY,int newWidth, int newHeight);

Mtodos de la clase color:

1. setColor(Color c);2. int getRed();3. int getGreen();4. int getBlue();5. Color darker();6. Color brighter();

SWING

Swing es un toolkit para Java. Es parte de Sun Microsystems ' Java Foundation Classes (JFC), un API para proporcionar una interfaz grfica de usuario (GUI) para programas de Java. Esta implementado completamente en lenguaje Java. Los componentes Swing no dependen de los peers para su funcionalidad, por lo que a estos componentes frecuentemente se le llama componentes lightweigth.

Swing fue desarrollado para proporcionar un sofisticado conjunto ms del GUI componentes que el anterior Window Toolkit Resumen. Incluye widgets para interfaz grfica de usuario tales como cajas de texto, botones, desplegables y tablas.

CARACTERISTICAS DE SWING

1. Tiene todas las caractersticas de AWT.2. Un conjunto de componentes de mayor nivel (listas en rbol, paneles de pestaas, etc.). 3. Diseo en Java, no depende de cdigo nativo.4. Trata de emular la apariencia del sistema operativo que se ejecuta en lo que se asemejan al entorno nativo.

FORTALEZAS Y DEBILIDADES DE SWING

Fortalezas:

1. El diseo en Java puro posee menos limitaciones de plataforma.2. El desarrollo de componentes Swing es ms activo.3. Los componentes de Swing soportan ms caractersticas de lo que hace AWT. Componentes como informacin sobre herramientas y los iconos no estn disponibles en AWT estando plenamente utilizables en swing.4. Se cre para solucionar muchas de las limitaciones de AWT. Swing se cre como un bien diseado, flexible y poderoso juego de herramientas GUI.

Debilidades:

1. La mayora de los browsers no incluyen las clases Swing, porque es necesario usar un Java plugin.2. Los componentes swing generalmente son ms lentos y presentan ms problemas debido a que estn hechos en Java puro y a problemas relacionados con video en varias plataformas.3. No siempre lucen igual que en el sistema donde fueron diseados.

METODOS DE SWINGContenido del botn

JButton(String, Icon)JButton(String)JButton(Icon)JButton()Crea un ejemplar de JButton, lo inicializa para tener el texto/imagen especificado.

void setText(String)String getText()Selecciona u obtiene el texto mostrado en el botn.

void setIcon(Icon)Icon getIcon()Selecciona u obtiene la imagen mostrada por el botn cuando no est seleccionado o pulsado.

void setDisabledIcon(Icon)Icon getDisabledIcon()Selecciona u obtiene la imagen mostrada por el botn cuando est desactivado. Si no se especifica una imagen, el aspecto y comportamiento crea una por defecto.

void setPressedIcon(Icon)Icon getPressedIcon()Seleccin u obtiene la imagen mostrada por el botn cuando est pulsado.

Ajustes sobre la apariencia del botn

void setHorizontalAlignment(int)void setVerticalAlignment(int)int getHorizontalAlignment()int getVerticalAlignment()Selecciona u obtiene dnde debe situarse el contenido del botn. La clase AbstractButton permite uno de los siguientes valores para alineamiento horizontal: LEFT, CENTER (por defecto), y LEFT. Para alineamiento vertical: TOP, CENTER (por defecto), y BOTTOM.

Void setHorizontalTextPosition(int)void setVerticalTextPosition(int)int getHorizontalTextPosition()int getVerticalTextPosition()Selecciona u obtiene dnde debera situarse el texto del botn con respecto a la imagen. La clase AbstractButton permite uno de los siguientes valores para alineamineto horizontal: LEFT, CENTER (por defecto), y LEFT. Para alineamiento vertical: TOP, CENTER (por defecto), y BOTTOM.

Funcionalidad del botn

void setMnemonic(char)char getMnemonic()Selecciona la tecla alternativa para pulsar el botn.

void setActionCommand(String)String getActionCommand(void)Selecciona u obtiene el nombre de la accin realizada por el botn.

Void addActionListener(ActionListener)ActionListener removeActionListener()Aade o elimina un objeto que escucha eventos action disparados por el botn.

void doClick()void doClick(int)Realiza un "click". El argumento opcional especifica el tiempo (en milisegundos) que el botn debera estar pulsado.

CUADRO COMPARATIVO

AWTSWING

1. Interfaz Java nativa sistema de cdigo GUI presente en su sistema operativo. No va a funcionar de la misma en cada sistema, aunque se intenta.1. evolucin de AWT. Utiliza AWT para crear una ventana del sistema operativo y, a continuacin, pinta cuadros de botones, etiquetas de texto, casillas de verificacin, etc.

2. Sus componentes son heredados del paquete javax.swing pero no anteponen la letra J antes del nombre. Ejemplo: Button.2. Los componentes swing se reconocen porque anteponen la letra J antes del nombre. Ejemplo: Jbutton.

3. Utiliza muchos de los comandos de la plataforma que le da una gran cantidad de velocidad. Pero a fin de convertirlo para su uso en otras plataformas, debe cambiar los comandos de la contraparte.3. Swing utiliza cdigo Java puro, hacindolo muy porttil con el costo de velocidad y rendimiento a travs de plataformas.

4. Compatible con dispositivos mviles.4. Swing no es compatible con dispositivos mviles.

5. El argumento que recibe el constructor es la etiqueta que se colocar sobre el botn. El aspecto y comportamiento de este botn es dependiente de la plataforma. La aplicacin se basa slo en que ser informada cuando el botn sea presionado por el usuario para ejecutar alguna accin.5. Cada vez que el usuario interacta con la aplicacin se gatilla un evento, para que una componente determinada reaccione frente a un evento, debe poseer un "escuchador" con, al menos, un mtodo determinado que se ejecutar al escuchar un evento en particular.

CONCLUSION

AWT y Swing son herramientas fundamentales en la creacin de aplicaciones graficas que permitan la interaccin entre usuario y aplicacin. Y que una difiere de la otra dependiendo del entorno en que se desee hacer compatible la aplicacin, es decir, AWT permite que las aplicaciones creadas por l puedan ser ejecutados en cualquier entorno sin importar su antigedad, sin embargo SWING se ejecuta en entornos ms potentes y complejos aunque en ciertos casos muy lento. Como se dijo anteriormente SWING es la evolucin de AWT por lo que swing hereda sus libreras, sus clases logrando una presentacin ms atractiva para el usuario y que pueda ser compatible a distintos sistemas operativos. Como programadores es importante conocer estos dos tipos de interfaces con el fin de saber cul de las dos se adapte a las necesidades de los usuarios y ofrecindoles aplicaciones o sistemas adaptable a sus sistemas operativos.

REFERENCIAS ELECTRONICAS

Palacio Guerrero, Alma. Introduccin a la programacin en Java. [Documento en lnea] disponible en: http://fcqi.tij.uabc.mx/usuarios/palacios /java7.pdf. Consulta: 25- 04 - 2015.Definicin de AWT. [Pagina web en lnea] disponible en: http://www.alegsa.com.ar/Dic/awt.php. Consulta: 25- 04 - 2015.Qu es SWING? [Pagina web en lnea] disponible en: http://gl-epn-programacion-ii.blogspot.com/2010/04/que-es-swing.html. Consulta: 26- 04 - 2015.La diferencia entre AWT y SWING. [Pagina web en lnea] disponible en: http://www.diferenciaentre.net/la-diferencia-entre-awt-y-swing/ Consulta: 27- 04 - 2015.Diferencias entre Java Swing y Awt. [Documento en lnea] disponible en: http://es.slideshare.net/extrajuandavid/diferencias-swing-y-awt Consulta: 27- 04 - 2015.Ovejero Snchez, Javier. SWING: JButton, JCheckBox y JRadioButton. [Documento en lnea] disponible en: http://itma.galeon.com/cont/controles.pdf. Pginas 16 - 18. Consulta: 27- 04 - 2015.

13