He estado trabajando con Swing desde hace un tiempo pero todo el modelo/estructura de JFrame
s, paint()
, super
, etc. es todo turbio en mi mente. Necesito una explicación clara o un enlace que explique cómo está organizado todo el sistema de GUI.Java GUI Swing Model Explicación
Respuesta
Me pasó lo mismo. En realidad, hasta el día de hoy no entiendo del todo cómo funciona todo.
Swing es un marco muy flexible, quizás demasiado flexible. Con la flexibilidad viene mucha abstracción y con la abstracción viene la confusión. :)
He encontrado los siguientes artículos dignos de leer. Me ayudaron a comprender mejor la gran imagen de Swing.
- A Swing Architecture Overview
The process of installing a UI delegate, que es justo esta imagen:
Explican muy bien cómo el modelo y el trabajo delegado. Siempre me vuelve loco cuando veo los JLabel
, LabelUI
, ui.update
, etc.
¿Has mirado el tutorial de Java Swing (haz clic en here)? Hace un buen trabajo al cubrir los aspectos básicos del desarrollo de aplicaciones Swing.
Filthy Rich Clients por Chet Haase y Romain Guy es un gran libro sobre Java interfaz de usuario. Cubre algunas cosas más avanzadas también, pero la introducción y algunos primeros capítulos explican bien las cosas fundamentales.
Si, después de leer el tutorial de Swing, encuentra que su interés radica en temas más avanzados, también puede consultar Swing Second Edition de Robinson y Vorobiev.
Dado que esta pregunta está etiquetada con JFrame
, sugeriré algunos enlaces para comprender cómo funcionan los contenedores Swing de nivel JFrame
y otros.
También encontré que Swing estaba (y todavía está) bastante involucrado y que se requiere echar un vistazo a la documentación proporcionada por Sun de vez en cuando. Cada vez que reviso, parece que aprendo algo nuevo.
En primer lugar, los conceptos básicos: JFrame
clase de las especificaciones de la API de Java. Las especificaciones de API de Java a menudo proporcionan buena información detallada sobre las clases. En este caso, observará que hay varios enlaces, como la sección How to Make Frames de Los Tutoriales de Java.
Además de eso, también recomendaré mirar el Lesson: Using Swing Components de The Java Tutorials. La lección proporciona instrucciones sobre cómo usar los componentes proporcionados en Swing junto con algunos ejemplos útiles.
Para obtener más detalles, las piezas que he encontrado confusas cuando comencé con Swing fueron todos los diferentes tipos de paneles, como el ContentPane
, RootPane
, GlassPane
. La sección Using Top-Level Containers proporciona información y diagramas útiles sobre la jerarquía de contenedores de los contenedores de nivel superior. La sección How to Use Root Panes entra en detalles sobre los paneles de vidrio, capas y contenido con muchos ejemplos.
He encontrado que simplemente navegar en el código fuente (ctrl-clic en un nombre si está usando NetBeans) ha sido de gran ayuda. Si veo que aparece un método en el diálogo de finalización con el que no estoy familiarizado, simplemente haré clic en "Ir a la fuente" y miraré hasta que me sienta cómodo.
Encontré Swing Explorer para ser una herramienta preciosa para entender la jerarquía de componentes (particularmente en GUIs complejas) y mirar las propiedades (¡ay, de solo lectura: nos acostumbramos a la conveniencia de Firebug!). Tiene un plugin de Eclipse.
- 1. Componentes JAVA Swing GUI ¿cómo ver RTL?
- 2. Java Swing: cómo cambiar la GUI dinámicamente
- 3. GUI Arquitectura y diseño en Java (Swing)
- 4. Mejor generador de GUI para Java/Swing
- 5. Ejemplo Swing Model View Presenter (MVP)
- 6. ¿Recomendado Standalone Swing GUI Builder?
- 7. Swing/AWT - Crear GUI programáticamente
- 8. Bibliotecas Java GUI
- 9. GUI de Java Swing en Mac OS X
- 10. ¿Cómo mejorar la apariencia de JAVA swing GUI?
- 11. hex visualizador/editor componente GUI para Java Swing?
- 12. Aprendiendo Java Swing (¿Constructor de GUI o no?)
- 13. Java AWT/SWT/Swing: ¿cómo planificar una GUI?
- 14. Swing Threading de Java
- 15. ¿Escribir gui programáticamente o usando un editor gui avanzado (Java Swing)?
- 16. Automatización de GUI basada en Java (No se limita a GUI como Swing)
- 17. Alternativas GUI de Java
- 18. Ventana corrediza Java Swing
- 19. Java Swing de JTextField inserción
- 20. Swing Desarrollo de GUI con resorte
- 21. Java Swing FlowLayout Alignments
- 22. Cómo hacer un buen diseño GUI de Swing de
- 23. Diferencia entre validate(), revalidar() e invalidar() en Swing GUI
- 24. Mejor editor GUI de Java
- 25. Java Swing Dice Rolling Animation
- 26. Java: ¿Crear una GUI con XML?
- 27. ¿Es posible hacer GUI sexy con javaFX y swing?
- 28. Explicación sobre una instrucción Java
- 29. Java Swing elemento transiciones
- 30. Java Swing ventanas "niños"
Enlace muy útil: no lo había visto antes; marcado para una mirada más cercana más adelante. –
Sí ... No recuerdo cómo llegué a ese enlace. No lo encontré hasta después de varios años. Tampoco sé la "búsqueda de Google" para producirlo, por lo que también lo tengo en mis marcadores. – OscarRyz
Los enlaces de @OscarRyz están muertos. ¿tienes la copia? Necesito esos para mis estudiantes. Gracias. – ihsan