注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

古城风~~~

竹密无妨溪水过,天高不碍白云飞。这天下总有一份是属于我古城的天地!

 
 
 

日志

 
 

打开对话框  

2008-09-06 21:36:42|  分类: java/jsp |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

/*本例是一个关于打开对话框的文件过滤和获取所选文件的实例*/

package ccp330.gucheng.io;

import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Frame;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import javax.swing.JFileChooser;
import javax.swing.filechooser.FileFilter;

public class FileNameFiterTest {

 /**
  * @param args
  */
 public static void main(String[] args) {
  new WinFileNameFiterTest("文件目录读取:");
 }

}

class WinFileNameFiterTest extends Frame implements ActionListener {

 private static final long serialVersionUID = 1L;

 private TextArea area = null;
 private Button openFileWin = null;

 public WinFileNameFiterTest(String name) {
  super(name);
  area = new TextArea(20, 10);
  this.add(area, BorderLayout.CENTER);
  openFileWin = new Button("打开对话框");
  openFileWin.addActionListener(this);
  this.add(openFileWin, BorderLayout.SOUTH);
  this.addWindowListener(new WindowAdapter() {
   public void windowClosing(WindowEvent e) {
    System.exit(0);
   }

  });
  this.setBounds(200, 200, 300, 200);
  this.setVisible(true);
 }

 @Override
 public void actionPerformed(ActionEvent ae) {
  if (ae.getSource() == openFileWin) {
   File fDir = new File("E:" + File.separator + "Server 2003");

   JFileChooser jFile = new JFileChooser(fDir);
   // jFile.setAcceptAllFileFilterUsed(false);
   //自定义文件过滤器
   jFile.setFileFilter(new MyFileFilter(".vmem", "vmem文件(*.vmem)"));
   //用内部类来实现过滤器
   jFile.setFileFilter(new FileFilter() {

    public boolean accept(File f) {
     if (f.getName().endsWith(".log") || f.isDirectory()) {
      return true;
     } else {
      return false;
     }
    }

    public String getDescription() {
     return "日志文件(*.log)";
    }

   });
   // 要先用setFileFilter来设置过滤器再调用showOpenDialog,打开对话框的过滤器才起作用
   jFile.showOpenDialog(this);
   if(jFile.getSelectedFile()!=null){
    //用getSelectedFile来获取选择的文件
    area.append(jFile.getSelectedFile().getAbsoluteFile()+ "\n");
   }
   
  }
 }

 // 如果想要多个选择过滤器可以反复使用setFileFilter方法,其中最后一个为当前所选

 class MyFileFilter extends FileFilter {

  // filterName为过滤名,message为提示信息
  private String filterName = null, message = null;

  public MyFileFilter(String filterName, String message) {
   this.filterName = filterName;
   this.message = message;
  }

  public boolean accept(File fdir) {
   if (fdir.getName().endsWith(filterName) || fdir.isDirectory()) {
    return true;
   } else {
    return false;
   }
  }

  public String getDescription() {
   return this.message;
  }

 }

}

  评论这张
 
阅读(445)| 评论(1)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017