私は、アプレット内でJavaゲーム用のコンソールを作ろうとしています。コンソールは、独立したTextAreaのFrameであり、進行のロード/ダウンロードの表示に使用されます。 閉鎖時にコンソールを隠そうとすると、いくつかの問題が発生しています。アプレットからフレームを閉じる
//Method inherited from the Applet class
public void init() {
console = new Frame();
console.setSize(500, 300);
console.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e) {
console.setVisible(false);
}
});
consoleText = new TextArea();
consoleText.setSize(500, 300);
console.add(consoleText);
console.setVisible(true);
gameThread = new Thread() {
public void run() {
mainLoop();
}
};
gameThread.start();
}
スレッド「gameThread」私はフレーム「コンソール」を閉じたときに、単にハング:
はここで単純化されたコードです。私が "console.setVisible(false);"を置き換えたとしても"console.setExtendedState(Frame.ICONIFIED);"で、スレッドは何の警告もなくハングします。 ブラウザでアプレットを実行しているときに、タスクマネージャでプロセスを強制終了する必要があります。とてもうるさい。
代わりにJFrameを使用することは、バグを再現するのが難しいことを除いて全く同じことです。
私はちょうどユーザーがコンソールを取り除くことができるようにしたい。
誰のアイデアを持っていますか?ありがとう!
を - ダンプアプレットを完全に起動し、[Java Web Start](http://stackoverflow.com/tags/)を使ってフレーム( 'JFrame')ベースのゲームを起動します。 java-web-start/info)を実行します。問題は解決され、JWSはアプレットから起動されるフレーム(ブラウザが閉じてもゲームを使用できるという事実を含むがこれに限定されない)に対して多くの利点を提供する。 –
私はロードするものを表示するためにフレームとしてコンソールを使用します。このゲームは、アプレット自体のCanvasで実行されます。 Java Web Startは素晴らしいですが、アプレットはJava Web Startアプリよりも透過性が高いと思います。ユーザーには、フラッシュゲームのようなものです。 – Klems