libro
www.tuyano.com
初心者のためのJava SEプログラミング入門

ファイルアクセス (5/6)

作成:2010-01-14 19:06
更新:2010-01-14 19:06

■イメージファイルを読み込む

テキストがわかったら、次はグラフィックのイメージをファイルから読み込んでみましょう。Javaでは、jpegやGIFのグラフィックを読み込んで使うことができます。まあ、グラフィックファイルの保存となるとエンコードなどが絡んできてちょっとややこしいんですが、読み込むだけなら私たちにも使えそうですから、一緒に覚えておきましょう。

下に掲載したリストが、そのサンプルです。「Read」ボタンを押してグラフィックファイルを選ぶと、それを読み込んで表示します。なかなかいい感じでしょう?

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

import java.awt.*;
import java.awt.event.*;
import java.io.*;


public class Test11 extends Frame implements ActionListener {
	MyCanvas c1;
	Button b1;
	Image img;
		
	public Test11() {
		super();
		setTitle("Hello");
		setSize(300,250);
		setLayout(null);
		
		c1 = new MyCanvas();
		c1.setBounds(25,25,250,150);
		this.add(c1);
		
		b1 = new Button("Read");
		b1.setBounds(25,200,100,25);
		b1.addActionListener(this);
		this.add(b1);
	}
	
	 public static void main (String args []) {
		new Test11().show();
	}
	
	public void actionPerformed(ActionEvent ev) {
		if (ev.getSource() == b1) {
			this.readImageFromFile();
		}
	}
	
	void readImageFromFile() {
		try {
			FileDialog fd = new FileDialog(this,"Select Image File.",FileDialog.LOAD);
			fd.setVisible(true);
			String fname = fd.getDirectory() + fd.getFile();
			Toolkit tk = Toolkit.getDefaultToolkit();
			img = tk.getImage(fname);
			c1.repaint();
		} catch(Exception e) {
			System.out.println(e);
		}
	}
	
	class MyCanvas extends Canvas {
	
		public void paint(Graphics g) {
			if (img != null) {
				g.drawImage(img,0,0,this);
			}
		}
	}
}

※関連コンテンツ

「初心者のためのJava SEプログラミング入門」に戻る