2012-02-03 3 views
0

지난 며칠 동안 애플릿으로 실행되는 게임을 작성했지만 응용 프로그램으로 사용할 수도 있습니다.자바 애플릿을 독립 실행 형 응용 프로그램으로 재생하기

애플릿을 프레임에 넣으려고했으나 이렇게하면 검정색 화면 만 나타납니다 (그리고 가끔 나타나는 메뉴 화면). 애플릿은 여전히 ​​실행 중이며 사운드는 계속 재생되지만 다른 것은 없습니다.

코드를 분해하고 독립 실행 형 응용 프로그램을 위해 코드를 다시 작성하지 않아도됩니다. 시간이 오래 걸리지 만 다른 방법이 없다면 내가해야 할 일을 할 것입니다. 이 프로그램은 애플릿 클래스 (KeyListener, init() 이벤트, run() 이벤트 등 포함)의 확장 인 "main"클래스 (모든 미디어 정보, 게임 관련 이벤트 등 포함)가 어쩌면 나는 틀린 것을 프레임에 넣으려고하고있는 중입니까?

여기에 게임의 src 폴더에 대한 링크가 있습니다. AWPASG 클래스와 Game 클래스를 하나의 프레임에 넣으려고했지만 두 가지 모두 동일한 결과를 보았습니다.

도움을 주시면 감사하겠습니다. 클래스 디자인이 아닌 매우 좋기 때문에입니다

소스 코드/미디어 http://www.mediafire.com/?4eslqqr4aoh33j1

답변

2

. 2 개의 클래스에서 모든 것을 하나로 묶어 놓았습니다. 적어도 UI 컨테이너에서 UI 위젯 (패널 등)을 분리해야합니다.

또한 이전 스타일의 AWT 애플릿과 패널을 사용하고 있습니다. 즉, 새로운 Swing JApplet과 JPanel (그리고 모든 옵서버 JXxx 구성 요소)를 사용해야합니다.

즉, JPanel을 확장하거나 JPanel을 포함하는 클래스로 GUI 건물 (페인팅)을 분리 해보십시오. 그런 다음 두 개의 별도 시작 클래스를 가질 수 있습니다. 하나는 게임 JPanel을 JApplet에 넣고 하나는 JFrame에 넣습니다 (따라서 데스크톱 응용 프로그램으로 시작할 수 있습니다).

또한 GAME 초기화 논리를 애플릿 초기화주기와 분리하려는 경우 게임이 기본 GUI 기술을 신경 쓰지 않고 초기화 할 수 있어야합니다.

+0

글쎄, 버머! 이 정보에 대해 너무 고마워요. Swing 구성 요소로 변환해야 할 것입니다. 나는 아직 프로그래밍 현장에 대해 새로운 지식을 가지고 있으므로 수업 디자인을 정리할 것입니다. 그것들 중 일부는 내 머리 위로있다. 그러나 그것이 인터넷이 존재하는 이유 다. – Speakr

관련 문제