JavaのSwingで、ファイル選択ダイアログを表示して、選んだ画像ファイルをフレームに表示するサンプルです。

サンプルダウンロード(zipの中のjarをダブルクリックすると実行できます)


解説

メニューからファイル選択ダイアログを表示し、選んだ画像ファイルを表示するサンプルです。

今回のサンプルは以下の3ステップで構成されています。
  1. メニューの表示と選択時のアクションを設定
  2. ファイル選択ダイアログの表示
  3. ファイル選択ダイアログで選択された画像をラベルに設定

サンプルソース

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
 
import javax.swing.ImageIcon;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.filechooser.FileNameExtensionFilter;
 
public class PictureOpen extends JFrame {
	JLabel label;
 
	public static void main(String[] args) {
		new PictureOpen();
	}
 
	public PictureOpen() {
		init();
	}
 
	private void init() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setTitle("メニューから画像ファイルを開いて表示");
		setBounds(100, 100, 500, 400);
 
		// ラベル作成
		label = new JLabel();
		add(label);
 
		// メニュー作成
		JMenuBar mb = new JMenuBar();
		JMenu m = new JMenu("ファイル(F)");
		m.setMnemonic('F');
		JMenuItem item1 = new JMenuItem("開く(O)");
		item1.setMnemonic('O');
		// メニューを選んだ時の動作を設定
		item1.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				// ファイル選択ダイアログを表示し、選択したファイルをラベルに設定
				// するメソッドを呼び出す
				open();
			}
		});
		m.add(item1);
		mb.add(m);
		setJMenuBar(mb);
 
		// フレームを表示
		setVisible(true);
	}
 
	// ファイル選択ダイアログを表示し、選択したファイルをラベルに設定
	private void open() {
		JFileChooser fc = new JFileChooser();
		// 画像ファイルの拡張子を設定
		fc.setFileFilter(new FileNameExtensionFilter("画像ファイル", "png", "jpg",
				"Jpeg", "GIF", "bmp"));
		// ファイル選択ダイアログを表示、戻り値がAPPROVE_OPTIONの場合、画像ファイルを開く
		if (fc.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
			File f = fc.getSelectedFile();
			// アイコンをラベルに設定
			ImageIcon icon = new ImageIcon(f.getPath());
			label.setIcon(icon);
		}
	}
}
 

動かしたところ

メニューを選択

画像ファイルを選択

選択した画像を表示
最終更新:2013年07月31日 00:21