ファイルダイアローグの使い方

ファイルを保存したり、開いたりする操作をするにはファイルダイアローグをつかいます。

ここでは、ファイルダイアローグの使い方を紹介します。

 

さっそくですが、以下のようにコードを組んでください。

ボタンを押して、CSVファイルを選択し、ファイルの名前・パス・ファイルサイズを表示します。

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

import javax.swing.*;
import javax.swing.filechooser.*;
import javax.swing.filechooser.FileFilter;

public class Hello extends JFrame
{
	private JButton bt;
	private JLabel lb;
	
	public static void main(String[] args)
	{
		Hello hl=new Hello();
	}
	public Hello()
	{
		super("ファイルダイアローグ");
		
		bt=new JButton("ファイルの選択");
		lb=new JLabel();
		
		add(bt,BorderLayout.NORTH);
		add(lb,BorderLayout.SOUTH);
		
		bt.addActionListener(new BtnActionListener());
		addWindowListener(new WindowListener());
		
		setSize(300,300);
		setVisible(true);
	}
	class BtnActionListener implements ActionListener
	{
		public void actionPerformed(ActionEvent e)
		{
			//ファイルダイアローグ
			Container cnt=getContentPane();
			JFileChooser fc=new JFileChooser();
			//拡張子の設定
			FileFilter filter=new FileNameExtensionFilter("CSVファイル","csv");
			fc.addChoosableFileFilter(filter);		//CSVファイルを追加
			fc.setFileFilter(filter);				//はじめのフィルタをCSVに設定する
			fc.setAcceptAllFileFilterUsed(false);	//すべてのファイルを選択できないようにする
			int res=fc.showOpenDialog(cnt);	//ファイルダイアローグをコンテナへ表示
				//保存なら fc.showSaveDialog
			if(res==JFileChooser.APPROVE_OPTION){
				File fl=fc.getSelectedFile();
				lb.setText("<html>ファイル名:"+fl.getName()+",<br />"+"絶対パス:"+fl.getAbsolutePath()+",<br />"+"サイズ:"+fl.length()+"</html>");
			}
		}
	}
	class WindowListener extends WindowAdapter
	{
		public void windowClosing(WindowEvent e)
		{
			System.exit(0);
		}
	}
}

まず、

Container cnt=getContentPane();

により、ファイルダイアローグを表示するコンテナを用意します。そして、

JFileChooser fc=new JFileChooser();

でJFileChooserクラスを準備します。もし、はじめの選択ファイルを指定したいなら

JFileChooser fc=new JFileChooser(“tmp.csv”);

とします。あとは

FileFilter filter=new FileNameExtensionFilter(“CSVファイル”,”csv”);

fc.addChoosableFileFilter(filter);

fc.setFileFilter(filter);

で拡張子をし、

fc.setAcceptAllFileFilterUsed(false);

で「すべてのファイル」をなくしています。

int res=fc.showOpenDialog(cnt);

でオープンファイルダイアローグを表示します。

int res=fc.showSaveDialog(cnt);

なら、セーブファイルダイアローグになります。もしも、開くが押されたら

res=JFileChooser.APPROVE_OPTION

となります。

著者:安井 真人(やすい まさと)