灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:3332回复:0

[二级考试]2012年计算机二级Java基础之对话框学习教程(3)

楼主#
更多 发布于:2012-08-22 13:51

8.6.2 JFileChooser 文件对话框
  JFileChooser表示文件对话框,常用来弹出“打开”、“保存”后其他自定标题的文件对话框,并可爱对话框中进行文件选择。
  JFileChooser类提供了6个构造方法用于创建JFileChooser类对象,常用的有3个,详见下表。
  表8-16 JFileChooser常用构造方法
  构造方法
  说明
  JFileChooser()
  构造一个指向用户默认目录的 JFileChooser。
  JFileChooser(String currentDirectoryPath)
  构造一个使用给定路径的 JFileChooser。
  JFileChooser(File currentDirectory)
  使用给定的 File 作为路径来构造一个 JFileChooser
  此默认目录取决于操作系统。在 Windows 上通常是“我的文档”,在 Unix 上是用户的主目录。
  无参构造方法创建的JFileChooser类对象,其默认目录默认目录取决于操作系统。在 Windows 上通常是“我的文档”,在 Unix 上是用户的主目录。
  另外两个构造方法,虽然传递参数的类型不同,但均指某个目录。若参数传递时传入“null”,则相当于使用“JFileChooser()”创建JFileChooser类对象。
  JFileChooser类中常用方法如下表。
  表8-17 JFileChooser常用方法
  成员方法
  说明
  int showOpenDialog(Component parent)
  弹出一个 "Open File" 文件选择器对话框
  int showSaveDialog(Component parent) 弹出一个 "Save File" 文件选择器对话框
  showDialog(Component parent,                      String approveButtonText) 弹出具有自定义 approve 按钮的自定义文件选择器对话框
  File getSelectedFile()
  返回选中的文件
  对于showOpenDialog等显示对话框的方法将返回一个整数,可能取值情况是:
  JFileChooser.CANCEL_OPTION —按取消键退出对话框,无文件选取
  JFileChooser.APPROVE_OPTION —正常选取文件
  JFileChooser.ERROR_OPTION —发生错误或者该对话框已被解除而退出对话框
  所以在文件选取对话框交互结束后,应进行判断,是否从对话框中选取了文件,然后根据返回值情况进行处理。
  例8-12演示了JFileChooser类的showOpenDialog方法的使用,JFileChooser一般用于可视化的文件读取及保存,本例只是将读取的文件名显示出来,对于进一步的文件读取及保存工作读者可在学习了I/O流后完善本实例。
  [例8-12]
  import java.awt.*;
  import javax.swing.*;
  import java.awt.event.*;
  class JFileChooserTest extends JFrame{
  private JLabel label = new JLabel("所选文件路径:");
  private JTextField tfFileName = new JTextField(25);
  private JButton btnOpen = new JButton("浏览");
  public JFileChooserTest(String title){
  super(title);
  Container contentPane = this.getContentPane();
  contentPane.setLayout(new FlowLayout(5));
  contentPane.add(label);
  contentPane.add(tfFileName);
  contentPane.add(btnOpen);
  pack();
  setVisible(true);
  this.setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE);
  //监听btnOpen按钮
  btnOpen.addActionListener(new MyActionListener());
  }
  
//Action事件处理
  private class MyActionListener implements ActionListener{
  public void actionPerformed(ActionEvent arg0) {
  JFileChooser fc = new JFileChooser("D:javaPro");
  int val = fc.showOpenDialog(null);//文件打开对话框
  if(val==fc.APPROVE_OPTION){//正常选择文件
  tfFileName.setText(fc.getSelectedFile().toString());
  }
  else{//未正常选择文件,如选择取消按钮
  tfFileName.setText("未选取文件");
  }
  }
  }
  }
  public class Test8_12 {
  public static void main(String[] args) {
  new JFileChooserTest("JFileChooser测试");
  }
  }
  程序运行结果。




喜欢0 评分0
游客

返回顶部