2012年计算机二级Java对话框学习教程(3)
3844 点击·0 回帖
![]() | ![]() | |
![]() | 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测试"); } } 程序运行结果。 ![]() | |
![]() | ![]() |