Unterschied zwischen JPanel, JFrame, JComponent und JApplet
Ich mache ein Physik-simulator für Spaß-und ich war auf der Suche Grafik-tutorials, wenn ich versuchte, herauszufinden, der Unterschied zwischen all diesen J ist.
Kann jemand näher erläutern, oder vielleicht einen link auf eine hilfreiche Quelle?
InformationsquelleAutor der Frage Andyroo | 2010-08-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese Klassen sind gemeinsame Punkte Erweiterung für Java UI-designs. Zuerst Weg, erkennen Sie, dass Sie nicht unbedingt viel miteinander zu tun direkt, so dass Sie versuchen zu finden, eine Beziehung zwischen Ihnen könnte kontraproduktiv sein.
JApplet - Eine Basis-Klasse, lassen Sie code schreiben, der ausgeführt wird, im Kontext eines Browsers, wie für eine interaktive web-Seite. Das ist cool und alle, aber es bringt Einschränkungen, die den Preis für es spielen schön in der realen Welt. Normalerweise JApplet verwendet wird, wenn Sie wollen, um Ihre eigene Benutzeroberfläche in einem web-Seite. Ich habe mich immer gefragt, warum Menschen nicht nehmen Vorteil von applets speichern eines Zustands für eine session, also keine Datenbank oder cookies benötigt werden.
JComponent - Basisklasse für Objekte, die die Absicht haben der Interaktion mit Swing.
JFrame - Verwendet zur Darstellung die Sachen, die ein Fenster haben sollte. Dies schließt die Grenzen (in der Größe geändert werden J/n?), titlebar (App-Namen oder andere Nachricht), die Steuerelemente (minimieren/maximieren erlaubt?), und event-Handler für die verschiedenen system-Ereignisse wie 'Fenster schließen' (Ausweis-app, um die Ausfahrt noch?).
JPanel - Generische Klasse verwendet, um zu sammeln, die anderen Elemente zusammen. Das ist eher wichtig bei der Arbeit mit dem visuellen layout oder eine der zur Verfügung gestellten layout-Manager z.B. gridbaglayout, etc. Zum Beispiel haben Sie ein Textfeld, das größer ist dann der Bereich, den Sie reserviert haben. Setzen Sie das Textfeld in ein Scroll-Bereich und setzen Sie das Fenster in einem JPanel. Dann, wenn Sie den JPanel, wird es mehr überschaubar in Bezug auf layout.
InformationsquelleAutor der Antwort Kelly S. French
JFrame und JApplet sind top-level-Container. Wenn Sie whish, um zu erstellen, desktop-Anwendung, die Sie verwenden werden, JFrame und wenn Sie planen, für das hosten Ihrer Anwendung in den browser Sie verwenden, JApplet.
JComponent ist die abstrakte Klasse für alle Swing compoents, und Sie können verwenden Sie es als Basis-Klasse für das neue Komponente. JPanel ist einfach nutzbar compoent können Sie für fast alles.
Da dies für fun-Projekt, der einfachste Weg für Sie ist die Arbeit mit JPanel und dann host es in JFrame oder JApplet. Netbeans visual designer für Swing mit einfachen Beispielen.
InformationsquelleAutor der Antwort aco
Vielleicht finden Sie es nützlich, um die lookup-Klassen auf oracle. Eg:
http://download.oracle.com/javase/1.4.2/docs/api/javax/swing/JFrame.html
Dort können Sie sehen, dass JFrame extends JComponent und JContainer.
JComponent ist ein basic-Objekt, das gezeichnet werden kann, JContainer erweitert diese, so dass Sie Komponenten hinzufügen, um es. JPanel und JFrame beide JComponent erweitern, wie Sie hinzufügen können, Dinge zu Ihnen. JFrame ein Fenster bietet, in der Erwägung, dass JPanel ist nur ein panel, dass geht innerhalb eines Fensters. Wenn das Sinn macht.
InformationsquelleAutor der Antwort Ultimate Gobblement