0

ユーザーに何かが起こっていることを示すために何かが処理されているときに、回転するプログレス ホイール (このようなもの) を表示したいと考えています。ウィンドウ全体をポップアップせずにこれを行う方法はありますか? スイングを使っています。ありがとう。

4

2 に答える 2

4

アプリケーションがある種の Swing コンテナを使用していると仮定すると、アニメーション GIF を のアイコンとして設定し、JLabelこれをコンテナのGlassPaneに配置することをお勧めします。そして、必要に応じてこのペインを切り替えます。

これは部分的に関連する実装です (入力イベントのブロックに注意してください)。

于 2012-04-04T20:27:47.383 に答える
3

画面に画像をポップ表示する方法の 2 つの簡略化された説明の例を次に示します。必要に応じて、画像ソース、位置、サイズ、例外処理などを調整します。

例 1/2、JLabel を使用した半透明:

public static void main(String args[]) throws Exception {
JWindow jWindow = new JWindow() {
final Icon icon = new ImageIcon(<yourImage>);  // Okay to be animated
{
    setOpacity(.642f);
    setLocation(0,0);
    setSize(icon.getIconWidth(), icon.getIconHeight());
    add(new JLabel(icon));
    pack();
}
};
jWindow.setVisible(true);
Thread.sleep(3000);
jWindow.setVisible(false);
}

例 2/2、ペイントを使用した透明:

public static void main(String args[]) throws Exception {
JWindow jWindow = new JWindow() {
final Image image = ImageIO.read(<yourImage>);  // Static image only
{
    setLocation(0,0);
    setSize(image.getWidth(), image.getHeight());
}
public void paint(Graphics g) {
    g.drawImage(image, 0, 0, null);
}
};
jWindow.setVisible(true);
Thread.sleep(3000);
jWindow.setVisible(false);
}
于 2012-04-04T22:13:46.337 に答える