画像の表示(アプリ)
アプリケーションでイメージを読み込む
これまで、Appletクラスを拡張した環境下でイメージを扱ってきました
しかし、アプリケーションの場合はAppletクラスを拡張しないのでApplet.getImage()を使えません
アプリケーションとして画像を読み込む場合は、このメソッドとは違うメソッドを用います
アプリケーションとしてイメージをドライブから読み込む場合はアプレットと異なる方法をとります
アプリケーションの場合はToolkitクラスのgetImage()を用いるのです
public abstract Image getImage( String filename )
public abstract Image getImage( URL url )
filenameには、画像ファイルへのパスを表す文字列を
urlには、画像ファイルへのパスを格納するURLオブジェクトを指定します
渡された引数の画像ファイルをImageオブジェクトとして返します
もし、ユーザーにファイルダイアログなどから画像を選択させる場合
当然、有効ではないファイルを選択された時の対策なども考えなくてはなりません
import java.awt.*;
import java.awt.event.*;
public class test extends Frame implements WindowListener {
Toolkit tk = getToolkit();
Image img;
public static void main(String args[]) {
test win = new test();
win.imageShow();
}
public void imageShow() {
setSize(400 , 400);
setVisible(true);
addWindowListener(this);
FileDialog fd = new FileDialog(this , "Kitty" , FileDialog.LOAD);
fd.show();
if (fd.getFile() == null) return;
img = tk.getImage(fd.getDirectory() + fd.getFile());
repaint();
}
public void paint(Graphics g) {
if (img == null) return;
Dimension dim = getSize();
g.drawImage(img , 0 , 0 , dim.width , dim.height , this);
}
public void windowActivated(WindowEvent e) { }
public void windowClosed(WindowEvent e) { }
public void windowClosing(WindowEvent e) {
System.exit(0);
}
public void windowDeactivated(WindowEvent e) { }
public void windowDeiconified(WindowEvent e) { }
public void windowIconified(WindowEvent e) { }
public void windowOpened(WindowEvent e) { }
}
簡単な画像ビューワーのアプリケーションです
アプリケーションを起動すると、ファイル選択ダイアログが表示されるので
画像ファイルを選択すると、その画像がウィンドウに表示されます