2012-02-03 5 views
0

私は最後の数日間、アプレットとして動作するゲームをまとめることに費やしましたが、アプリケーションとして利用できるようにしたいと思います。Javaアプレットをスタンドアロンアプリケーションとして再生する

私はフレームにアプレットを配置しようとしましたが、そのときに黒い画面(および時折メニュー画面)しか表示されません。アプレットはまだ実行され、サウンドは再生されますが、他には何もありません。

コードを分解してスタンドアロンアプリケーション用に書き直す必要はありません。時間がかかりますが、それ以外の方法がない場合、私は何をしなければなりません。このプログラムは、「メイン」クラス(すべてのメディア情報、ゲーム関連イベントなどを含む)がAppletクラス(KeyListenerinit()イベント、run()イベントなどを含む)の拡張であるという点で少し複雑です。私はちょうどフレームに間違ったものを配置しようとしていますか?

ここに、ゲームのsrcフォルダへのリンクがあります。私はAWPASGクラスとGameクラスの両方をフレームに入れてみましたが、両方で同じ結果が見られました。

ご協力いただければ幸いです。あなたのクラスのデザインはありません非常に良いですので、だ

ソースコード/メディア http://www.mediafire.com/?4eslqqr4aoh33j1

答えて

2

。あなたは2つのクラスですべてを一緒に集めました、UIコンテナから少なくともUIウィジェット(パネルなど)を分離することです。

また、古いスタイルのAWTアプレットとパネルを使用しています。つまり、新しいSwing JAppletとJPanel(およびすべてのopthers JXxxコンポーネント)を使用する必要があります。

つまり、JPanelを拡張するクラス(またはJPanelを含むクラス)にGUIビルディング(ペイント)を分離してみてください。次に、2種類のスタートアップクラスを用意することができます.1つはJApplet内にゲームJPanelを配置し、もう1つはJFrameに配置するクラスです(デスクトップアプリケーションとして起動する可能性があります)。

また、GAME初期化ロジックとApplet initライフサイクルを分けたい場合は、基礎となるGUI技術を気にせずにゲームを初期化できる必要があります。

+0

まあ、バマー!この情報をありがとうございました。 Swingコンポーネントへの変換を開始する必要があります。私はまだプログラミングシーンをかなり新しくしているので、私はクラスデザインの掃除に取り組んでいます。その中には私の頭の上にあるものもありますが、それがインターネットが存在する理由です。 – Speakr

関連する問題