Ich bin dabei, mit der Entwicklung einer neuen kleinen Anwendung zu beginnen. Es wird ungefähr 10 verschiedene GUIs enthalten.
Mit Netbeans kann ich entweder ein JFrame oder ein JPanel erstellen - aber welches sollte ich verwenden?
Ich werde eine Menü-GUI haben, die Schaltflächen zu den verbleibenden GUIs enthalten wird. Ich muss auch einige Controller als Parameter übergeben
Ich nehme an, Sie sind ein wenig verwirrt über die Unterschiede zwischen einem JPanel und einem JFrame. Ein JPanel dient als Container für andere GUI-Komponenten wie Schaltflächen, Textfelder und andere JPanels.
Andererseits können Sie einen JFrame als eine Komponente auf oberster Ebene betrachten (das Haupt-JPanel).
Zitate und Bilder aus dieser Website und dieser Website .
JFrame
Ein Frame ist ein Fenster der obersten Ebene mit einem Titel und einem Rahmen.
Das Folgende ist ein Bild eines typischen JFrame:
JPanel
Die Klasse
JPanel
stellt allgemeine Container für leichtgewichtige Komponenten bereit.
Das Folgende ist ein Bild von JPanels. Jede Farbe repräsentiert ein anderes JPanel
:
Um Ihre Frage zu beantworten, müssen Sie beide verwenden. Beginnen Sie mit einem JFrame (der als Hauptcontainer fungiert), und fügen Sie JPanels hinzu, um Ihre grafische Benutzeroberfläche zu erstellen.
Ich empfehle, dass Sie diese zwei Links lesen, um eine bessere Idee zu bekommen und den Code zu sehen.
10 verschiedene GUIs
Es gibt eine Vielzahl von Optionen zum Anzeigen der JPanel
basierten GUI-Elemente.
CardLayout
JTabbedPane
Siehe Die Verwendung mehrerer JFrames, gute / schlechte Praxis? für viele andere Ideen zum Kombinieren oder Anzeigen verschiedener Gruppen von Widgets.
N.B. Resist erweitert entweder JFrame
oder JPanel
- behalte stattdessen einfach einen Verweis auf eins und verwende ihn nach Bedarf.
Dieser Artikel erscheint informativ:
Zusammenfassung:
JPanel dient als allgemeiner Container, während JFrame ein Fenster ist, das häufig für eigenständige Anwendungen wie ein Warnfenster oder ein Benachrichtigungsfenster verwendet wird.
JPanel ist ein Bereich, der für komplexere Operationen oder Anwendungen verwendet wird.
In JPanel kann ein Panel viele Operationen enthalten, während es in JFrame interne Frames für einen anderen Zweck haben kann.
Es liest so, als wäre ein JFrame möglicherweise flexibler als ein JPanel für ein Top-Level-Fenster. Wie von @ ncmathsadist gezeigt, kann ein JPanel auch in einen JFrame eingebettet sein.
Ein JFrame ist eine Top-Level-Komponente. Es ist eine "Haut" für Ihre Anwendung. JPanels sind keine Container der obersten Ebene. Sie müssen sich in einem anderen übergeordneten Container befinden. JPanels können zum Inhaltsbereich eines JFrames hinzugefügt werden.
Ich werde Ihre Frage mit einem kleinen Beispielcode beantworten.
%Vor%}
Beachten Sie, wie die Fenster im Inhaltsfenster angezeigt werden.
10 verschiedene GUIs
Es gibt eine Vielzahl von Optionen zum Anzeigen der %code% basierten GUI-Elemente.
Siehe Die Verwendung mehrerer JFrames, gute / schlechte Praxis? für viele andere Ideen zum Kombinieren oder Anzeigen verschiedener Gruppen von Widgets.
N.B. Resist erweitert entweder %code% oder %code% - behalte stattdessen einfach einen Verweis auf eins und verwende ihn nach Bedarf.
Dieser Artikel erscheint informativ:
Zusammenfassung:
JPanel dient als allgemeiner Container, während JFrame ein Fenster ist, das häufig für eigenständige Anwendungen wie ein Warnfenster oder ein Benachrichtigungsfenster verwendet wird.
JPanel ist ein Bereich, der für komplexere Operationen oder Anwendungen verwendet wird.
In JPanel kann ein Panel viele Operationen enthalten, während es in JFrame interne Frames für einen anderen Zweck haben kann.
Ich nehme an, Sie sind ein wenig verwirrt über die Unterschiede zwischen einem JPanel und einem JFrame. Ein JPanel dient als Container für andere GUI-Komponenten wie Schaltflächen, Textfelder und andere JPanels.
Andererseits können Sie einen JFrame als eine Komponente auf oberster Ebene betrachten (das Haupt-JPanel).
Zitate und Bilder aus dieser Website und dieser Website .
Ein Frame ist ein Fenster der obersten Ebene mit einem Titel und einem Rahmen.
Das Folgende ist ein Bild eines typischen JFrame:
Die Klasse %code% stellt allgemeine Container für leichtgewichtige Komponenten bereit.
Das Folgende ist ein Bild von JPanels. Jede Farbe repräsentiert ein anderes JPanel
:
Um Ihre Frage zu beantworten, müssen Sie beide verwenden. Beginnen Sie mit einem JFrame (der als Hauptcontainer fungiert), und fügen Sie JPanels hinzu, um Ihre grafische Benutzeroberfläche zu erstellen.
Ich empfehle, dass Sie diese zwei Links lesen, um eine bessere Idee zu bekommen und den Code zu sehen.
Ich bin dabei, mit der Entwicklung einer neuen kleinen Anwendung zu beginnen. Es wird ungefähr 10 verschiedene GUIs enthalten.
Mit Netbeans kann ich entweder ein JFrame oder ein JPanel erstellen - aber welches sollte ich verwenden?
Ich werde eine Menü-GUI haben, die Schaltflächen zu den verbleibenden GUIs enthalten wird. Ich muss auch einige Controller als Parameter übergeben
Ein JFrame ist eine Top-Level-Komponente. Es ist eine "Haut" für Ihre Anwendung. JPanels sind keine Container der obersten Ebene. Sie müssen sich in einem anderen übergeordneten Container befinden. JPanels können zum Inhaltsbereich eines JFrames hinzugefügt werden.
Ich werde Ihre Frage mit einem kleinen Beispielcode beantworten.
%Vor%}
Beachten Sie, wie die Fenster im Inhaltsfenster angezeigt werden.
Es liest so, als wäre ein JFrame möglicherweise flexibler als ein JPanel für ein Top-Level-Fenster. Wie von @ ncmathsadist gezeigt, kann ein JPanel auch in einen JFrame eingebettet sein.
Einige dieser Antworten sind WAAAAAY zu detailliert.
Verwenden Sie einfach ein JPanel.
Sie können immer ein Panel in einen Rahmen einfügen. Sie können keinen Rahmen in ein Panel einfügen.