ファイルのタイプが .txt だけだと選択しやすいので、これを実装します。

public class MyFileFilter extends javax.swing.filechooser.FileFilter {
String ext , msg;
public MyFileFilter(String ex , String ms) {
ext = ex;
msg = ms;
}
public boolean accept(java.io.File f) {
return f.getName().endsWith(ext);
}
public String getDescription() { return msg; }
}
コンパイルだけします。実行できません。
前回の構成
public SanTakuF(){
setDefaultCloseOperation(EXIT_ON_CLOSE); //終了処理を追加
JFileChooser chooser = new JFileChooser("./");
int retVal = chooser.showOpenDialog(this);
今回の構成
public SanTakuF(){
setDefaultCloseOperation(EXIT_ON_CLOSE); //終了処理を追加
JFileChooser chooser = new JFileChooser("./");
MyFileFilter filter = new MyFileFilter(".txt" , "テキストファイル(*.txt)");
chooser.addChoosableFileFilter(filter);
int retVal = chooser.showOpenDialog(this);
これで、最初から、.txtの拡張子のファイルだけを表示します。

ファイルタイプの右の▼をクリックすることで、「全てのファイル」に戻すことも可能です。

SanTakuF.java
public SanTakuF(){
setDefaultCloseOperation(EXIT_ON_CLOSE); //終了処理を追加
JFileChooser chooser = new JFileChooser("./");
MyFileFilter filter = new MyFileFilter(".txt" , "テキストファイル(*.txt)");
chooser.addChoosableFileFilter(filter);
int retVal = chooser.showOpenDialog(this);
SanTakuM.java
public SanTakuS(){
setDefaultCloseOperation(EXIT_ON_CLOSE); //終了処理を追加
JFileChooser chooser = new JFileChooser("./");
MyFileFilter[] filter = {
new MyFileFilter(".java" , "Java ファイル(*.java)") ,
new MyFileFilter(".class" , "class ファイル(*.class)") ,
new MyFileFilter(".txt" , "テキストファイル(*.txt)")
};
for(int i = 0 ; i < filter.length ; i++){
chooser.addChoosableFileFilter(filter[i]);
}
int retVal = chooser.showOpenDialog(this);
これはやってみただけで、java,classファイルを選んでも三択問題はできません