ファイル選択

実行中にファイルを選択できるように

エディタやワープロでやるように,ファイルの一覧を出してその中からファイルを選択するようにします。

JFileChooser

を使います。

SanTakuF.javaの作成

SanTak.java に書き加えます

ファイル名 SanTakuF.java

前回(SanTaku)の構成

public SanTaku(){
	setDefaultCloseOperation(EXIT_ON_CLOSE);
	m   = new Mondaishuu("mondai.txt",10 );
	label1 = new JLabel("問題 "+(n+1),JLabel.LEFT); //nは0から問題番号は1から

今回(SanTakuF)の構成

public SanTakuF(){
	setDefaultCloseOperation(EXIT_ON_CLOSE);
	JFileChooser chooser = new JFileChooser(".");
	int retVal = chooser.showOpenDialog(this);
	if (retVal != JFileChooser.APPROVE_OPTION) System.exit(0);

	File file = chooser.getSelectedFile();
	String fname = file.getPath();
	m   = new Mondaishuu(fname,10);
	label1 = new JLabel("問題 "+(n+1),JLabel.LEFT); //nは0から問題番号は1から

中にFileクラスを使っているので、次のパッケージをインポートする必要があります。

import java.io.*;

実行

いつものように実行します。

$ javac SanTakuF.java
$ java SanTakuF

最初にファイルの選択画面がでます。mondai.txtなどを選択します。

filechooser

選択すると問題が始まります。

三択問題2問目になったところ

もしも問題の形式になっていないファイルを選択すると、うまく動かないはずです。ほんとうはそのような場合にファイルの形式が間違っているというメッセージがでて、選択しなおすとか、停止するとかの対策が必用です。


Javaプログラミング
聖愛中学高等学校
http://www.seiai.ed.jp/
Oct. 2009 加筆