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

练习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类型
}

}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值