0

これは私の 3 番目の SO の質問です。もう一度助けてください... アプレットにスプラッシュスクリーンを配置したいです。その際、JWindow コンポーネントを使用しました。スタンドアロンの Java アプリケーションのスプラッシュスクリーンを作成する際に既に使用していたので、アプレットでも動作すると思いました。問題は、それが機能しないことです。Jwindow はアプレットで使用できますか? これを達成するためのより良い方法はありますか?tnxたくさん!

アプレットの start メソッドで LoadingScreen オブジェクトをインスタンス化しますか? コードは次のとおりです。

public class LoadingScreen extends JWindow{
private static final long serialVersionUID = 1L;
private Image image1;
private ImageIcon icon1;

public LoadingScreen(){
//image = Toolkit.getDefaultToolkit().getImage("WebContent/images/loadbar.gif");
image1 = getImage(getCodeBase(), "images/loadbar.gif");

icon1= new ImageIcon(image1);
setSize(icon1.getIconWidth(), icon1.getIconHeight());
setLocationRelativeTo(null);
setVisible(true);

try{
//Make JWindow appear for 5 seconds before disappear
Thread.sleep(5000);
dispose();
System.exit(0);
 }catch(Exception exception){
exception.printStackTrace();
}
} 
 public void paint(Graphics g){
   super.paint(g);
   g.drawImage(image1,0,0,null);
}

}

アップデート!問題が解決しました。アプレットの開始メソッド内の静的な Thread.sleep メソッドの呼び出しは、リソース (画像) の読み込みを停止します..それが表示されない理由です。実際のカウントを行うために別のタイマースレッドを作成することで修正されました...誰もが知っているように...:)

4

2 に答える 2

0

問題が解決しました。アプレットの開始メソッド内の静的な Thread.sleep メソッドの呼び出しは、リソース (画像) の読み込みを停止します..それが表示されない理由です。実際のカウントを行うために別のタイマースレッドを作成することで修正されました...誰もが知っているように...:)

于 2010-03-11T04:05:14.613 に答える
0

画像を表示するために paint(...) メソッドをオーバーライドしたのはなぜですか? ImageIcon を JLabel に追加し、ラベルをウィンドウに追加します。次に、 pack() メソッドを使用してウィンドウのサイズを変更します。

JWindow が機能するかどうかはわかりません。サイズを設定したときに画像が読み込まれていないため、サイズがゼロになっている可能性があります。

または、装飾されていない JFrame を使用することもできます。

于 2010-03-01T06:43:52.573 に答える