Verwenden von JFrame oder JPanel

7

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

    
Patrick Reck 13.02.2013, 14:27
quelle

6 Antworten

18

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.

    
Goaler444 13.02.2013, 14:42
quelle
1
  

10 verschiedene GUIs

Es gibt eine Vielzahl von Optionen zum Anzeigen der JPanel 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 JFrame oder JPanel - behalte stattdessen einfach einen Verweis auf eins und verwende ihn nach Bedarf.

    
Andrew Thompson 13.02.2013 14:38
quelle
0

Dieser Artikel erscheint informativ:

Zusammenfassung:

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

  2. JPanel ist ein Bereich, der für komplexere Operationen oder Anwendungen verwendet wird.

  3. In JPanel kann ein Panel viele Operationen enthalten, während es in JFrame interne Frames für einen anderen Zweck haben kann.

Howie 13.02.2013 14:32
quelle
0

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.

    
hd1 13.02.2013 14:33
quelle
0

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.

    
ncmathsadist 13.02.2013 14:30
quelle
-1
___ qstnhdr ___ Verwenden von JFrame oder JPanel ___ answer14855973 ___
  

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.

    
___ answer14855858 ___

Dieser Artikel erscheint informativ:

Zusammenfassung:

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

  2. JPanel ist ein Bereich, der für komplexere Operationen oder Anwendungen verwendet wird.

  3. In JPanel kann ein Panel viele Operationen enthalten, während es in JFrame interne Frames für einen anderen Zweck haben kann.

___ answer14856048 ___

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 .

%code%

  

Ein Frame ist ein Fenster der obersten Ebene mit einem Titel und einem Rahmen.

Das Folgende ist ein Bild eines typischen JFrame:

%code%

  

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.

    
___ qstntxt ___

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

    
___ tag123java ___ Java (nicht zu verwechseln mit JavaScript oder JScript oder JS) ist eine universelle objektorientierte Programmiersprache, die für die Verwendung in Verbindung mit der Java Virtual Machine (JVM) entwickelt wurde. "Java-Plattform" ist der Name für ein Computersystem, auf dem Tools zum Entwickeln und Ausführen von Java-Programmen installiert sind. Verwenden Sie dieses Tag für Fragen, die sich auf die Java-Programmiersprache oder Java-Plattform-Tools beziehen. ___ tag123swing ___ Swing ist das wichtigste Toolkit für Benutzeroberflächen in Java und wird mit dem Standard-Java-SDK ausgeliefert. Es ist im Paket javax.swing enthalten. ___ answer14855827 ___

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.

    
___ answer14855878 ___

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.

    
___ tag123jpanel ___ JPanel ist ein Container im Java Swing Framework, der das benutzerdefinierte Rendering mit Layout-Managern ermöglicht. JPanels können für Flexibilität geschachtelt werden. Es gibt auch ein jQuery-Plugin mit demselben Namen, das Akkordeons, Tabs und Feldsets aus der einfachen Container-Markierung bereitstellt. ___ tag123jframe ___ Ein JFrame ist eine Komponente und ein Container der obersten Ebene des JFC / Swing-Frameworks. ___ answer 14858213 ___

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.

    
___
Oliver Watkins 13.02.2013 16:28
quelle

Tags und Links