欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

关于菜单项中文件选择框的事件处理

程序员文章站 2022-07-14 18:25:42
...
练习JFileChooser

class MenuListener implements ActionListener {

public void actionPerformed(ActionEvent e) {
String s = e.getActionCommand(); //得到当前点击的菜单项
JFileChooser chooser = new JFileChooser(); //实例化一个文件选择框
Txt_file_filter filter = new Txt_file_filter(); //实例化过滤器
chooser.setFileFilter(filter); //添加过滤器

if(s.equals("打开")) {
int result = chooser.showOpenDialog(null);
if(result == JFileChooser.APPROVE_OPTION) {
//如果是选择文件选择框的打开按钮
File selectFile = chooser.getSelectedFile();
//得到当前选中的文件
Runtime runtime = Runtime.getRuntime();
String filePath = selectFile.getAbsolutePath();
//得到当前选中的文件路径
try {
System.out.println(selectFile.getAbsolutePath());
runtime.exec("cmd /c start " + filePath); //调用CMD控制台打开文件
} catch (IOException e1) {
e1.printStackTrace();
}
}

}
if(s.equals("另存为")) { //如果选择另存为菜单项则打开一个保存框

chooser.showSaveDialog(null);
}
}
//创建过滤器,过滤为.txt类型
class Txt_file_filter extends FileFilter {
public boolean accept(File f) {

if(f != null) {
if( f.isDirectory()) return true;
else {
String filename = f.getName();
int i = filename.lastIndexOf('.');
if(i>0 && i<filename.length()-1 ) {
String s = filename.substring(i+1).toLowerCase();
return s.equals("txt");
}
else return false;
}
}
return false;
}

public String getDescription() {
return "文本文件(*.txt)"; //默认显示在选择框中的为.TXT类型
}

}

}
相关标签: JFileChooser