关于菜单项中文件选择框的事件处理
程序员文章站
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类型
}
}
}
上一篇: python实现随机森林