2012-03-28 24 views
0

Ich mache eine GUI eines Schachspiels. Und ich dachte, dass ich das Schachspiel in einem JPanel laufen könnte, und einige wichtige Optionen in einem anderen haben könnte. Auf diese Weise konnte ich alles in ein Fenster passen. Ist es möglich, einen JPanel zu starten, der eine andere Java-Klasse ausführt?Ausführen eines Java-Programms in einem JPanel

Edit: Ich meine, ein ganzes Java-Programm innerhalb dieses JPanel laufen, so dass die Ausgabe des Schachprogramms in diesem JPanel in meinem GUI-Programm geht. Ich spreche nicht von einem einfachen Rahmen innerhalb eines Rahmens.

Ich benutze lwjgl Werkzeuge, die ein Spiel entwickeln Werkzeug ist. Es läuft sein eigenes Fenster, das ich versuche, in einem JPanel zu laufen. Ich kenne mich mit Rahmenlayouts usw. aus, aber ich weiß nicht, ob es möglich ist, ein externes Programm in einem JPanel auszuführen. Das Schachspiel erweitert JPanel nicht, es erweitert "BasicGame", das ein Teil von "Lightweight Java Game Library" oder "ljgl" ist. Alles ist in Java.

+0

http://docs.oracle.com/javase/tutorial/uiswing/ – maialithar

Antwort

1

Natürlich ist es möglich. Sie können ein JPanel als "Hauptfenster" verwenden und dann andere JPanels in Ihrem Hauptfenster speichern und auf diese Weise ein rahmenähnliches Aussehen haben.

Wenn Sie BorderLayout auf Ihrem Hauptfenster verwenden, können Sie ein Feld in der Mitte (das Schachbrett darstellt) und ein Feld auf der Westseite speichern. Das Feld auf der Westseite kann ein anderes Layout haben, zum Beispiel GridLayout, mit dem Sie Schaltflächen erstellen können, die verschiedene Aktionen des Spielers darstellen.

+0

Ich meine, ein ganzes Java-Programm in diesem JPanel laufen, so dass die Ausgabe des Schachprogramms in diesem JPanel in meinem GUI-Programm geht. – Ferium

+0

Ich bin mir nicht sicher, ob ich verstehe, was du meinst. Wenn Sie jedoch eine "ChessBoard" -Klasse haben, die JPanel erweitert, können Sie diese Klasse zum Zeichnen des Schachbretts verwenden (entweder mithilfe eines Hintergrundbilds oder mithilfe von GridLayout) und die Bewegungen des Spielers auf diesem Feld aktualisieren. Und dann fügen Sie dieses Panel zu Ihrem Programm hinzu. Ihr Programm kann ein anderes Panel enthalten, das die Optionen des Spielers repräsentiert. –

+0

@Jimmy Ich denke, er meint sein Schachspiel in Java zu schreiben, aber die GUI in eine andere Sprache zu schreiben .... Ich könnte mich aber irren: D. –

1

Ja. Sie können mehrere JPanels zu einem einzelnen JFrame hinzufügen. Sie können sogar JPanel zu einem anderen JPanel hinzufügen. Rufen Sie frame.add für beide Panels auf.