2016-04-07 5 views
0

Ich habe bisher this post hilfreich gefunden.Wie gibt man das JPanel mit einem BorderLayout in die Mitte eines JFrames zurück?

Aber ich konnte es nicht funktionieren, vor allem dieser Teil .getLayoutComponent. Diese

ist, wie ich die Methode wollen in der Klasse suchen:

public JPanel getCentrePanel() { 

    return [CENTER PANEL WOULD BE RETURNED HERE]; 
} 
+0

dies sein Werk sollte 'Rückkehr yourContainer.getLayout() getLayoutComponent (BorderLayout.CENTER));.' – rdonuk

+0

Ich bin nicht sicher, ob ich einen Behälter haben, mein JFrame (frmAdmin) ist ein Border und ich habe das Panel, das ich in der Mitte zurückgeben möchte (BorderLayout.CENTER). – Kyle

Antwort

1

Sie können das Layout aus dem Inhaltsbereich Ihres JFrame zu bekommen.

BorderLayout layout = (BorderLayout) frmAdmin.getContentPane().getLayout(); 
return (JPanel) layout.getLayoutComponent(BorderLayout.CENTER); 
+0

Zunächst vielen Dank für die schnellen Antworten, aber ich konnte diese nicht bekommen zu arbeiten, wie hier gezeigt: https://gyazo.com/54942f9dffa53261214b2167c0d3fb87 Fehler 1: „Typenkonflikt: kann nicht von Layout zu Border konvertieren“ Fehler 2: "Die Methode getContentPane() ist für den Typ AdminView nicht definiert." Fehler 3: "Typenkonflikt: Konvertierung von Component in JPanel nicht möglich" – Kyle

+0

Layout in "BorderLayout" umwandeln. – rdonuk

+0

Vielen Dank, ich habe alles funktioniert jetzt, sollte es Ihnen früher gesagt haben. Habe meine Kursarbeit dort wirklich gerettet, Prost! – Kyle

Verwandte Themen