Ich arbeite seit einiger Zeit mit Swing, aber das gesamte Modell/die gesamte Struktur von JFrame
s, paint()
, super
, usw. ist alles dunkel in meinem Kopf. Ich brauche eine klare Erklärung oder einen Link, der erklärt, wie das gesamte GUI-System organisiert ist.Java GUI Swing Modell Erklärung
Antwort
Das gleiche ist mir passiert. Bis heute weiß ich noch nicht 100% wie alles funktioniert.
Swing ist ein sehr flexibler Rahmen - vielleicht zu flexibel. Mit Flexibilität kommt viel Abstraktion und mit Abstraktion kommt Verwirrung. :)
Ich habe die folgenden Artikel gefunden, die es wert sind, gelesen zu werden. Sie haben mir geholfen, das große Bild von Swing besser zu verstehen.
- A Swing Architecture Overview
The process of installing a UI delegate, die gerade dieses Bild ist:
Sie erklären ganz gut, wie das Modell und der Delegierte der Arbeit. Es macht mich immer wütend, wenn ich diese sehen JLabel
, LabelUI
, ui.update
usw.
Haben Sie sich das Java Swing Tutorial angesehen (klicken Sie auf here)? Es deckt ziemlich gut die Grundlagen der Entwicklung von Swing-Anwendungen ab.
Filthy Rich Clients von Chet Haase und Romain Guy ein großes Buch über Java UI ist. Es behandelt auch etwas fortgeschrittenere Sachen, aber Einführung und einige erste Kapitel erklären grundlegende Dinge gut.
Wenn Sie, nachdem Sie das Swing-Tutorial gelesen haben, Ihr Interesse an fortgeschritteneren Themen finden, können Sie auch einen Blick auf Swing Second Edition von Robinson und Vorobiev werfen.
Da diese Frage mit JFrame
markiert ist, werde ich ein paar Links vorschlagen, um zu verstehen, wie JFrame
s und andere Top-Level-Swing-Container arbeiten.
Ich fand auch, dass Swing war (und immer noch ist) ziemlich beteiligt und ein Blick auf die Dokumentation von Sun ist ab und zu erforderlich - jedes Mal, wenn ich überprüfe, scheint ich etwas Neues zu lernen.
Zuerst die Grundlagen: JFrame
Klasse aus den Java-API-Spezifikationen. Die Java-API-Spezifikationen bieten häufig gute detaillierte Informationen zu den Klassen. In diesem Fall werden Sie bemerken, dass es mehrere Links gibt, wie zum Beispiel How to Make Frames Sektion von The Java Tutorials.
Abgesehen davon, ich empfehle auch Blick auf die Lesson: Using Swing Components von The Java Tutorials. Die Lektion enthält Anweisungen zur Verwendung der in Swing bereitgestellten Komponenten und einige nützliche Beispiele.
Für weitere Details, die ich verwirrend gefunden habe, als ich mit Swing angefangen habe, waren die verschiedenen Arten von Scheiben, wie die ContentPane
, RootPane
, GlassPane
. Der Abschnitt Using Top-Level Containers enthält Informationen und hilfreiche Diagramme zur Containerhierarchie der Container der obersten Ebene. Der Abschnitt How to Use Root Panes geht ausführlich auf die Glas-, Ebenen- und Inhaltsfenster mit zahlreichen Beispielen ein.
ich gefunden habe, dass nur gerade um im Quellcode (Strg-Klick auf einen Namen, wenn Sie NetBeans verwenden) war wirklich hilfreich. Wenn ich im Abschlussdialog eine Methode sehe, mit der ich nicht vertraut bin, klicke ich einfach auf "Gehe zur Quelle" und schaue mich um, bis ich mich damit auskenne.
Ich fand Swing Explorer zu einem wertvollen Werkzeug, um die Hierarchie der Komponenten (besonders in komplexen GUIs) zu verstehen und Eigenschaften zu betrachten (leider, schreibgeschützt: wir gewöhnen uns an Firebug Bequemlichkeit!). Es hat ein Eclipse-Plugin.
- 1. Java Swing - Manipulation der GUI
- 2. Java Swing GUI scheint nicht
- 3. Java GUI Swing Rechner Operatoren
- 4. Java Swing GUI auf Kura
- 5. Warum wird die Java-GUI-Plattform "Swing?"
- 6. Problem mit Rechteck Zeichnung Java Swing GUI
- 7. Date Picker GUI Komponente für Java Swing
- 8. Erstellen einer GUI (Swing)
- 9. Scala und Swing GUI-Anwendungen
- 10. Swing/AWT - GUI programmatisch erstellen
- 11. Java GUI-Bibliotheken
- 12. Java Swing: Ausführen von GUI Update-Methoden von separaten Klassenmethoden
- 13. Java GUI-Bibliotheken
- 14. Swing GUI Generator für XML
- 15. Swing GUI Entwicklung mit Spring
- 16. Swing GUI IOException und FileNotFoundException
- 17. Java Swing Threading
- 18. Java Swing-Register Ereignistyp
- 19. Button Kommt nach der Maus in Java GUI (Swing) darauf?
- 20. hex viewer/editor GUI-Komponente für Java Swing?
- 21. Sollte ich eine Datenklasse von ihrer Java Swing GUI trennen?
- 22. Java Swing-GUI. Aktivieren/Feuern weiterer Tasten bei gedrückter Maustaste
- 23. JFreeChart für dynamische xy-Plots in Java Swing GUI-Anwendung
- 24. JAVA Swing GUI Komponenten How to RTL anzeigen?
- 25. Java Swing GUI Formular/jFrame, Durchschnitt, größte und kleinste Schaltfläche
- 26. Java Swing GUI. Erlaubt dem Benutzer Tasten neu anzuordnen
- 27. Wie erstelle ich die folgende GUI in Java Swing?
- 28. Java GUI (SWING/AWT) - Leerer Frame - Komponenten werden nicht angezeigt
- 29. Java Swing-GUI, die nicht in Xmonad angezeigt wird
- 30. Welche Optionen gibt es, Java Swing GUI zu ersetzen?
Sehr nützlicher Link - hatte das vorher nicht gesehen; Lesezeichen für einen genaueren Blick später. –
Yeahh ... Ich kann mich nicht erinnern, wie ich zu diesem Link gekommen bin. Ich habe es erst nach mehreren Jahren gefunden. Ich kenne die "Google-Suche" auch nicht, um sie zu erstellen, also habe ich sie auch in meinen Lesezeichen. – OscarRyz
@OscarRyz Links sind tot. Hast du die Kopie? Ich brauche diese für meine Studenten. Vielen Dank. – ihsan