エディタやワープロでやるように,ファイルの一覧を出してその中からファイルを選択するようにします。
JFileChooser
を使います。
SanTak.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などを選択します。

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

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