Oyentes Swing GUI sin AWT
Soy un desarrollador de Java principiante y aprendo solo con tutoriales de Internet. Estoy aprendiendo aplicaciones GUI de pantalla completa. Ayer me dijeron que no debería usar AWT en mis programas porque está desactualizado. Ya conozco componentes livianos y pesados, el principal problema son los oyentes del mouse y el teclado. ¿Por qué AWT está desactualizado?
¿ Cómo hacer un programa sin AWT (agregar oyentes a un JComponent
etc)? ¿Qué tipo de cosas Swing pueden reemplazar al AWT?
Estás malinterpretando la información que te han dado. Debes evitar el uso de componentes Swing con componentes AWT . Está bien usar Swing con la estructura de escucha AWT, administradores de diseño, etc. y, de hecho, es imposible no hacerlo.
Ha habido algunas buenas respuestas, pero me gustaría cubrir un aspecto ligeramente diferente. Cosas que ofrece Swing más allá de AWT.
Componentes
Swing admite documentos con estilo en JEditorPane
& JTextPane
& de forma limitada y utiliza HTML en otros formatos JComponents
. AWT no admite documentos con estilo en ningún componente.
AWT no proporciona ninguna estructura basada en árbol JTree
, ni ninguna estructura tabular, como JTable
, ni ninguna versión de JToolBar
.
AWT no tiene equivalente (que pueda encontrar o recordar) para JColorChooser
& ninguno para la clase de utilidad simple - JOptionPane
.
Oyentes
Como se menciona en un comentario, consulte los más de 20 oyentes adicionales/alternativos en el javax.swing.event
paquete.
Aspecto y sensación conectables
Los componentes Swing se pueden configurar para que tengan una apariencia particular en tiempo de ejecución, incluido un PLAF nativo.
Vea las capturas de pantalla en el Ejemplo de diseño anidado para ver más ejemplos.
Diseños
Además de la gran cantidad de diseños AWT, Swing ofrece:
BoxLayout
GroupLayout
OverlayLayout
ScrollPaneLayout
SpringLayout
ViewportLayout
Otro
- Atajos de teclado. Consulte Cómo utilizar combinaciones de teclas para obtener más detalles.
UndoManager
para la capacidad de deshacer/rehacer en documentos editables.- Doble buffer incorporado para evitar parpadeos al repintar.
SwingWorker
para GUI responsivas.
Probablemente haya mucho más que me perdí en esa breve descripción, pero la conclusión es que Swing es un conjunto de herramientas GUI completamente nuevo y más habilitado.
Swing se basa en las clases del AWT y depende en gran medida de ellas.