it-swarm.com.de

Java GUI: über getContentPane () Methode und Inhalt

In diesem Code:

JLabel emptyLabel = new JLabel("");
emptyLabel.setPreferredSize(new Dimension(175, 100));
frame.getContentPane().add(emptyLabel, BorderLayout.CENTER);

Ich kann sehen, dass es ein neues Etikett erstellt und es dem JFrame -Objekt frame hinzufügt. Aber ich möchte verstehen, was getContentPane() macht und warum ich es brauche?

Ich habe diese API gelesen, aber ich habe es immer noch nicht verstanden.

15
Bersan

Jeder JPanel ist ein Container. Fügen Sie ihn also entweder einem Panel hinzu und fügen Sie ihn dann dem Container hinzu, oder verwenden Sie direkt add(component) oder verwenden Sie die getContentPane().add -Methode. Beide fügen die Komponente dem Container in Java 7 (Ich weiß nicht, ob Version 6 ein Problem damit hat oder nicht) hinzu.

9
Caffe Latte

Jeder Swing-Container der obersten Ebene (und JInternalFrame) hat das, was als JRootPane bezeichnet wird. Dies ist für die eigentliche Verwaltung des Gesamtlayouts des Fensters verantwortlich.

enter image description here

Der Stammbereich besteht aus mehreren Ebenen, von denen eine der Inhaltsbereich ist. Wenn Sie einem Frame etwas hinzufügen (seit Java 5, glaube ich)), wird es automatisch zum Inhaltsfenster hinzugefügt, bevor Sie getContentPane().add(...) aufrufen mussten

Schauen Sie sich Verwendung von RootPanes an

25
MadProgrammer

Ein Container enthält mehrere Ebenen. Sie können sich eine Ebene als transparenten Film vorstellen, der über dem Container liegt. In Java Swing) wird die Ebene, die zum Speichern von Objekten verwendet wird, als Inhaltsbereich bezeichnet Inhaltsbereichsebene des Containers .

Die getContentPane () -Methode ruft die Inhaltsfenster-Ebene ab, damit Sie dies können füge ein Objekt hinzu. Der Inhaltsbereich ist ein Objekt, das von der Java-Laufzeitumgebung erstellt wurde. Sie müssen den Namen des Inhaltsbereichs nicht kennen, um ihn zu verwenden. Wenn Sie getContentPane() verwenden, wird das Inhaltsfensterobjekt dort ersetzt, sodass Sie eine Methode darauf anwenden können.

5
Jaimin Patel

Ein JFrame ist die Kopfkomponente, die mit anderen Unterkomponenten zusammengesetzt wird. Mit getContentPane () wird die Komponente abgerufen, die den Inhalt einer grafischen Benutzeroberfläche darstellt. Eine JMenuBar wird beispielsweise in einem anderen Bereich neben dem Inhaltsbereich eines Frames platziert.

2
Gary Klasen