2200
コメント:
|
2447
|
削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 |
行 1: | 行 1: |
## page was renamed from イメージの表示 #acl All: |
|
行 14: | 行 12: |
コンストラクタ内に記述すれば、インスタンスが作られるときに実行される。 | コンストラクタ内に記述すれば、インスタンスが作られるときに1度だけ実行される。 |
行 22: | 行 20: |
public class Sample11 extends JPanel | public class Sample5 extends JPanel |
行 26: | 行 24: |
Sample11() | Sample5() |
行 56: | 行 54: |
読み込みだけでなく、別のスレッドでイメージを修正しようとしているかもしれません。 | |
行 57: | 行 56: |
---- === 演習 === 例とは別のdrawImageメソッドを使って、画像の一部をウインドウ内の一部に表示しなさい。 . {{attachment:image2.png}} |
画像を表示する
画像を表示するには2つの処理が必要です。
- 画像を読み込む
- 画像を表示する
読み込んだ画像を覚えておくにはImageクラスの変数(オブジェクト)を使います。
画像を読み込む
最初に一度だけ行えばよい。
- コンストラクタ内に記述すれば、インスタンスが作られるときに1度だけ実行される。
画像ファイルから読み込むには ImageIconクラスを使います。
- javax.swingパッケージにあります。
コンストラクタ ImageIcon( ファイル名 ) を使うとファイルから読みこんでインスタンスが作られます。
ImageIconインスタンスからImageを得るにはgetImageメソッドを使います。
画像を表示する
- 表示はpaintComponentメソッド内に記述します。
drawImageメソッドを使います。
- java.awtパッケージ内
- graphicsクラス
のメソッドです。
APIを調べてみましょう。同じ名前のメソッドが6種類あります。
最も簡単な使い方を示します。
g.drawImage(img, 0,0, this);
- 1番目の引数で表示するイメージを指定します。
- 2番目と3番目の引数で、どの位置に表示するかを指定します。
- 4番目の引数には情報を受け取るオブジェクトを指定します。通常はthisを指定すればよい。
画像を読み込む処理は別のスレッドで行われるため、 場合によっては処理が完了したかなどの情報が必要なことがあります。 ネットワークを介してファイルを読み込むなど手間のかかる処理を考えてみてください。 読み込みだけでなく、別のスレッドでイメージを修正しようとしているかもしれません。 このために、ImageObserverの機能をもつオブジェクトを最後の引数として指定します。
演習
例とは別のdrawImageメソッドを使って、画像の一部をウインドウ内の一部に表示しなさい。