web-dev-qa-db-ja.com

素敵な「LOADING ...」アニメーションを作成する

可能性のある複製:
JProgressBarのかなりの代替ですか?

ロードに数秒かかるプロセスがあり、ロードが完了するまでJava Swingでアニメーションを作成したいと思います。

典型的なProgressBarの使用を避け、このような素敵でモダンな無限の進行状況を使用したい

infinite progress

私は同様の質問を知っていますが、これは厳密にJava Swing関連です。このためのライブラリまたは例はありますか?

15
Roman Rdgz

この種の活動にはガラス板の使用をお勧めします。必要な手順は次のとおりです。

  • JComponentBorderLayoutで作成します。 JLabelCENTERに追加します。これには、選択したアニメーション.gifアイコンが含まれます。
  • (オプション)Paint(Graphics)メソッドをオーバーライドして、GUIをグレー表示(または白表示)にします。これを実現するには、コンポーネントのサイズの塗りつぶされた四角形を描画し、四角形を半透明の色で塗りつぶす必要があります。
  • コンポーネントをアプリケーションのルートフレームのガラスペインとして追加します。
9
Adamski

このタスクには ImageIcon を使用するだけで、gifを自動的にアニメーション化します。以下のコードは、このスクリーンショット(the ajax-loader.gifhttp://www.ajaxload.info/)からダウンロードされました:

screenshot

コード:

public static void main(String[] args) throws Exception {
    JFrame frame = new JFrame("Test");

    ImageIcon loading = new ImageIcon("ajax-loader.gif");
    frame.add(new JLabel("loading... ", loading, JLabel.CENTER));

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(400, 300);
    frame.setVisible(true);
}
39
dacwe

もちろん可能です。ツール AjaxLoad を使用して、任意のimage/htmlコンテナーで使用できるアニメーション画像を生成できます。

3
Johan Sjöberg