2012-03-28 5 views
0

체스 게임의 GUI를 만들고 있습니다. 그리고 나는 JPanel에서 체스 게임을 할 수 있고, 다른 것에는 멍청한 옵션이 있다고 생각했습니다. 이렇게하면 모든 것을 하나의 창에 담을 수 있습니다. 다른 자바 클래스를 내부에서 실행하는 JPanel을 실행할 수 있습니까?JPanel에서 Java 프로그램 실행

편집 : 체스 프로그램의 출력물이 내 GUI 프로그램의 JPanel에 들어가도록 JPanel 내부에서 전체 자바 프로그램을 실행한다는 의미입니다. 프레임 안의 간단한 프레임에 대해 말하지 않습니다.

저는 게임 개발 도구 인 lwjgl 도구를 사용하고 있습니다. JPanel 내부에서 실행하려고하는 자체 윈도우를 실행합니다. 테두리 레이아웃 등 익숙하지만 JPanel 내에서 외부 프로그램을 실행할 수 있는지 여부를 모르겠습니다. 체스 게임은 JPanel을 확장하지 않으며 "Lightweight Java Game Library"또는 "ljgl"의 일부인 "BasicGame"을 확장합니다. 모든 것이 자바에 있습니다.

+0

http://java.sun.com/javase/tutorial/uiswing/ – maialithar

답변

1

물론 가능합니다. JPanel을 "메인 패널"로 사용하고 메인 패널 안에 다른 JPanel을 저장할 수 있습니다. 그렇게하면 프레임처럼 외모가 생깁니다.

mainPanel에서 BorderLayout을 사용하는 경우 중앙에 체스 보드를 나타내는 한 패널을, 서쪽에 패널 하나를 저장할 수 있습니다. 서쪽의 패널은 다른 레이아웃을 가질 수 있습니다. 예를 들어 GridLayout은 플레이어가 할 수있는 다양한 동작을 나타내는 버튼을 만들 수 있습니다.

+0

JPanel 내부에서 전체 Java 프로그램을 실행한다는 것은 체스 프로그램의 출력이 내 GUI 프로그램의 JPanel로 들어가는 것을 의미합니다. – Ferium

+0

당신이 무슨 뜻인지 확실하지 않습니다. 그러나 JPanel을 확장하는 "ChessBoard"클래스가있는 경우 해당 클래스를 사용하여 체스 보드를 그리거나 (배경 이미지를 사용하거나 GridLayout을 사용하여) 플레이어가 해당 패널에서 이동하도록 업데이트 할 수 있습니다. 그런 다음 해당 패널을 프로그램에 추가하십시오. 귀하의 프로그램은 플레이어 옵션을 나타내는 다른 패널을 포함 할 수 있습니다 –

+0

@ 지미 나는 그가 자신의 체스 게임을 자바로 작성하지만 다른 언어로 GUI를 작성하는 것 같아요 .... 나는 잘못 될 수 있습니다 : D 조. –

1

예. 하나의 JFrame에 여러 JPanel을 추가 할 수 있습니다. JPanel을 다른 JPanel에 추가 할 수도 있습니다. 두 패널 모두에 대해 frame.add를 호출하면됩니다.

관련 문제