2008-12-16 14 views
14

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

13

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.

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.

+1

Sehr nützlicher Link - hatte das vorher nicht gesehen; Lesezeichen für einen genaueren Blick später. –

+0

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

+0

@OscarRyz Links sind tot. Hast du die Kopie? Ich brauche diese für meine Studenten. Vielen Dank. – ihsan

2

Haben Sie sich das Java Swing Tutorial angesehen (klicken Sie auf here)? Es deckt ziemlich gut die Grundlagen der Entwicklung von Swing-Anwendungen ab.

0

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.

0

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.

2

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.

0

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.

1

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.