2. ¿Qué se entiende por GUI?
Llamamos Interfaz Gráfica GUI (Graphical User Interface) al conjunto de
componentes gráficos que posibilitan la interacción entre el usuario y la
aplicación. Es decir ventanas, botones, campos de texto, etc.
Los componentes son objetos de las clases que heredan de la clase
base componente como Button, List, TextField, TextArea, Label, etc.
En una GUI los componentes son contenidos en Contenedores o containers. Un
Containes es un objeto cuya clase hereda de Container(clase que a su vez es
subclase de Component) y tiene la responsabilidad de contener Componentes.
Generalmente una GUI se monta sobre un Frame. Esté sera el Container principal
que contendrá a los componentes de la Interfaz Gráfica, un Container podría
contener a otros containers.
3. ¿Qué son las distribuciones layouts?
Los containers contienen componentes y estos son acomodados dentro del
espacio visual del container respetando una cierta distribución que llamaremos
layout.
Los layouts determinan el criterio con el que se van a distribuir los componentes
dentro del container, Ademas Todo el manejo de eventos y layouts es
exactamente el mismo para AWT y Swing.
4. Tipos de layouts:
FlowLayout : Distribuye los componentes uno al lado del otro en la parte
superior del container. Por defecto provee una alineación centrada, pero
también puede alinear a la izquierda o derecha.
BorderLayout: Divide el espacio del container en 5 regiones: NORTH, SOUTH,
EAST, WEST y CENTER, admite un único componente por región.
GridLayout: Divide el espacio del container en una grilla de n filas por m
columnas, en donde las celdas son de igual tamaño.
GridBagLayout: Divide el espacio del container en una grilla donde cada
componente puede ocupar varias filas y columnas. Además permite distribuir
el espacio interno de cada celda.
5. ¿Qué es AWT?
son las siglas de Abstract Window ToolKit, las herramientas originales de
Java para crear interfaces gráficas.
Es una librería GUI portable para aplicaciones autónomas y/o applets,
proporciona la conexión entre nuestra aplicación y el GUI nativo.
Java provee dos API's con las que podemos trabajar para
desarrollar GUI, la más básica es AWT (Abstrct Window Toolkit).
Las más desarrolladas se hacen con Swing.
6. Las prestaciones de AWT incluyen:
Un amplio grupo de componentes de usuario.
Un modelo de manejo de eventos robusto.
Herramientas gráficas y de imágenes (clases de Formas, colores y fuentes).
Manejadores de diseño que no dependen del tamaño de pantalla o resolución.
Clases de transferencia de datos, para copiar-pegar a través del portapapeles
de la plataforma.
Los componentes de AWT dependen de componentes de código 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 mínimos de cualquier aplicación, es por esto que no incluye
componentes complejos como pueden ser tablas, vistas de árbol, barras de
progreso y otros.
7. ¿Que es Swing?
Swing implementa un juego de componentes construidos sobre AWT y además
proporciona un “look and feel” conectable/intercambiable, además Está escrito
100% en código Java.
Sus características incluyen:
Todas las prestaciones de AWT.
Componentes 100% Java de las versiones de los componentes de AWT.
Un rico conjunto de componentes de alto nivel (listas en árbol, paneles de
pestañas, etc...).
Un diseño Java puro, no depende de terceros.
Look and feel intercambiable.
8. Comparación de AWT y Swing
AWT Swing
Applet JApplet
Frame JFrame
Window JWindow
Dialog JDialog
Component JComponent
Panel JPanel
Button JButton
Canvas Panel
Checkbox JCheckBox o JRadioButton
Choice JComboBox
Label JLabel
List JList
TextArea JTextArea
TextField JTextField
Menu JMenu
MenuItem JMenuItem
los controles que tienen la estrellas de 4
puntas son las que utilizaremos para
nuestro posterior programa, y además se
mencionaran algunos de sus métodos.
9. se puede decir que si queremos que nuestra aplicación corra en cualquier
entorno, independientemente de la antigüedad del mismo, deberíamos usar AWT;
ahora bien, si lo que queremos es una herramienta potente, flexible, usar tablas
y otros componentes complejos; y completamente adaptable a nuestras
necesidades, usaremos la tecnología Swing.