2016-05-29 16 views
1

Ich habe eine Klasse, die einen Rahmen erstellt.Wie kann ich den JFrame von einer anderen Klasse aufrufen?

Wenn ich eine andere Klasse habe, die dem Rahmen Panels und Buttons hinzufügen würde, wie kann ich sie hinzufügen? Ich habe versucht:

GameDisplay g; 
Container c; 
c = g.getFrame().getContentPane(); 

Aber es gibt Nullpointer Fehler. Daher kann ich keine Paneele hinzufügen.

+1

Siehe [Die Verwendung mehrerer JFrames, gute/schlechte Praxis?] (Http://stackoverflow.com/q/9554636/418556) –

Antwort

-1

Hängen Sie Ihren in createDisplay() erstellten JFrame an eine statische Variable an. Greifen Sie dann auf diese statische Variable einer anderen Klasse zu.

Gefällt Ihnen dieses

public static JFrame frame1; 

dann in createDisplay()

GameDisplay.frame1 = frame; 

In einer anderen Klasse erhalten Inhaltsbereich tun nur

c = GameDisplay.frame1.getContentPane(); 

Hope this geholfen!

+0

Vielen Dank! Es funktionierte! Ich meine, der Ausnahmefehler ist jetzt weg! =) Aber jetzt, mein Problem ist, habe ich versucht, Knopf zum Behälter zu addieren, aber es erscheint noch nicht im Rahmen. Wie kann ich den Rahmen aktualisieren, damit der Container angezeigt wird? Tut mir leid, ich lerne immer noch die Kurven von GUI. – kahjt

+0

Kreuzen Sie die Antwort an (das grüne Häkchen), um sie als gelöst zu markieren. Gib auch eine Stimme, wenn dir geholfen wird! – RoccoDev

+0

Sie deklarieren noch eine Schaltflächenvariable (aus dem obigen Code) nicht ... Sie sollten eine JButton-Variable machen und frame.add (button) aufrufen – RoccoDev

Verwandte Themen