El primer paquete de que dispone java para las interfaces graficas es java.awt (Abstract Window Toolkit). AWT es una librería portable para aplicaciones y/o applets. Provee la conexión entre la aplicación y el sistema de ventanas nativo. Los componentes AWT dependen de componentes en código nativo (llamados peers) para manejar su funcionalidad, por lo que frecuentemente son llamados componentes “heavyweigth”.
Los componentes de javax.swing han sido programados sobre los componentes AWT, dándole más potencia, y añadiendo más clases. Por ese mismo motivo, podemos mezclar ambos tipos de componentes (java.awt y javax.swing) sin que exista el menor problema.
Realmente, nosotros podemos customizar cualquier componente AWT o Swing para que adapte su aspecto o comportamiento a nuestras necesidades, solo tenemos que heredarlo y sobrecargar los métodos. Esto es, básicamente lo que hace Swing con todas las clases de AWT, en donde repite el nombre, anteponiendo la letra J
Las interfaces de usuario se crean utilizando clases
- Botones, cuadros de texto, etiquetas, listas desplegables, checkbox,….
Hay componentes contenedores que admiten dentro componentes
- JPanel, JFrame, JWindow, JDialog, JScrollPane, JSplitPane, JTabbedPane, JDesktopPane, JToolBar
Podremos establecer su layout con «setLayout», y dentro de ellos, podremos ubicar componentes.Todos los componentes van dentro de contenedores, y estos contenedores se pueden anidar
Los componentes producen eventos
- Click, DobleClick, Focus, Lost,…..
Porello, programar una interface gráfica requerirá normalmente los paquetes
- swing
- swing.event
Una clase que interacciona con un usuario tiene una estructura especial:
- Deberemos instanciar un contenedor.
- JFrame (Ventana convencional con título, icono,…)
- JDialog (Ventana de dialogo emergente)
- Añadirle un Panel
- JPanel
- Aplicarle un layout
- Añadirle los componentes que deseemos.
- Abrir este contenedor por medio de un Hilo,
- El resto del programa deberá responder a los eventos que se vayan produciendo en la pantalla
Podeis encontrar mas informacion en paginas como esta:
https://codejavu.blogspot.com.es/2013/10/contenedores-java-swing.html