高専プロコンネタ。ついでなので―何のついでだか僕も知りませんが―自分用メモを公開。
イメージのURL指定読み込み。
import java.awt.*;
・・・
//自身がAppletクラスを継承(extends java.awt.Applet)してるとき。
class (クラス) extends Applet{
(メソッド)(){
Image img = getImage(TargetURL);//getImage(URL url)はAppletのメンバーなので何も指定しない。
}
}
//そうでないとき。
class (クラス) extends Applet{
(メソッド)(){
Toolkit tl = new Toolkit.getDefaultToolkit();
Image img = tl.getImage(new URL("http://hogehoge/pngimg.png"));//このgetImage(URL url)も基本的には上と同じ。
Image img2 = new Toolkit.getDefaultToolkit().getImage(TargetURL);//
}
}
ただし,これだけだとgetImage()は,実際にはImageにファイルの内容をロードしてくれない。
例えば,上記だとAppletの方で
paint(Graphics g){
g.drawImage(img,0,0,this);//このクラスに表示。
}
とかで実体のデータが必要になると,そのときはじめてメモリにロードされる。
ちなみに,上の「このクラスに表示」は,実際はこのクラスのメンバー・フィールドである(Appletから継承した)Graphicsクラスのインスタンスに書き込んでるわけですな。…たぶん(汗)。
つ−か,paint()ってthisに呼ばれるんだよなぁ…?
そう仮定しちゃってるけど,そうじゃなかったらGraphics gってthisのメンバじゃないんですよねぇ…。
ま,そういうことにしとこ。やっかいだから(ぉぃ)。