2008-12-16 39 views
14

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

13

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.

Explican muy bien cómo el modelo y el trabajo delegado. Siempre me vuelve loco cuando veo los JLabel, LabelUI, ui.update, etc.

+1

Enlace muy útil: no lo había visto antes; marcado para una mirada más cercana más adelante. –

+0

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

+0

Los enlaces de @OscarRyz están muertos. ¿tienes la copia? Necesito esos para mis estudiantes. Gracias. – ihsan

2

¿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.

0

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.

0

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.

2

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.

0

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.

1

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.