ImageAnimationTest

サンプル画像
起動するとアニメーションする。
(ランダムに表示場所が変わるだけだが)
-->ImageAnimationTest.java
-->ダウンロード

-----コメント-----

まず、Applicationで画像を取得するにはどうするか。
方法は下の通り。

jarの中jarの外
Image hoge=Toolkit.getDefaultToolkit().getImage("piyo.jpg");

Toolkitで、classファイルからの相対パスを指定
後はMediaTrackerで画像の取得を待つ
String dir=System.getProperty("user.dir")+File.separator;

これで、jarファイルのある、ローカルでのフォルダが得られる
File.separatorはSystem.getProperty("file.separator")でもいい

Image hoge=Toolkit.getDefaultToolkit().getImage(dir+"piyo.jpg");

Toolkitで、画像ファイルの、ローカルでの絶対パスを指定
後はMediaTrackerで画像の取得を待つ
URL url=getClass().getResource("piyo.gif")
ImageIcon imageIcon=new ImageIcon(url);
Image hoge=imageIcon.getImage();

ImageIconで、classファイルからの相対パスを指定
この方法ではMediaTrackerを使わなくていいので楽
ImageIconを使う方法は使えないようだ
下の方法では取得できなかった


String dir=System.getProperty("user.dir")+File.separator;
File file=new File(dir+"piyo.jpg");
URL url=file.toURL();
ImageIcon imageIcon=new ImageIcon(url);
Image hoge=imageIcon.getImage();


次に、swing で描画したい場合どうするか。
JPanelを継承した独自のクラスを作り、
paintComponent(Graphics g)メソッドの中に描画処理を記す。

最後に、アニメーションのちらつき防止はどうするか。
swing ではそのままでも、ちらつきが発生しないらしい。便利。
ダブルバッファリングもしなくていいし、
update(Graphics g)メソッドの上書きも必要ないようだ。

以上です。
今までとはなかなか勝手が違いました。

まあ慣れれば平気そうだし、こちらのほうが便利な点もあります。
実際に作品を作る中で習得していくしかないですね。


戻る