2014-07-15 21:57:53|?次阅读|上传:wustguangh【已有?条评论】发表评论
关键词:Java, Swing, 界面设计|来源:唯设编程网
在使用Swing开发应用程序时,经常需要选择文件,例如从文件中导入数据,或者是选择用户照片等,通过javax.swing.JFileChooser类可以轻松地实现这个功能。
JFileChooser类提供了一个供用户选择文件的对话框。利用该类创建文件选择对话框以及获取用户选择文件的基本步骤如下:
创建一个JFileChooser类的对象。
默认情况下每次只选择一个文件,如果希望允许同时选择多个文件,可以通过调用方法setMultiSelectionEnable(boolean b)设置,将入口参数设为true即表示允许多选。
默认情况下只允许选择文件,如果希望允许选择文件夹,可以通过调用方法setFileSelectionMode(int mode)设置,入口参数可选的静态常量有FILES_ONLY(只允许选择文件)、DIRECTORIES_ONLY(只允许选择路径)和FILES_AND_DIRECTORIES(均可选择)。
如果只希望在对话框中列出指定类型的文件,可以调用setFileFilter(FileFilter filter)方法设置文件过滤器。
设置完成后调用showOpenDialog(Component parent)方法显示打开文件对话框,该方法返回一个int型值,用来判断用户是否选择了文件或路径。
如果用户选择了文件或路径,可以通过方法getSelectedFile()或getSelectedFiles()获得,方法getSelectedFile返回的是File对象,方法getSelectedFiles()返回的File型数组。
下面是一段显示上传文件对话框的例子:
final JButton button = new JButton(); button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { JFileChooser fileChooser = new JFileChooser(); int i = fileChooser.showOpenDialog(getContentPane()); if(i == JFileChooser.APPROVE_OPTION){ File selectedFile = fileChooser.getSelectedFile(); textField.setText(selectedFile.getName()); } } }); button.setText("上传");
运行后点击“上传”按钮,将弹出一个文件选择对话框,在对话框中将列出当前路径下的所有文件。这样,我们就使用Swing开发出了一个实用的文件选择对话框,后面的例子我们将会介绍其它包括文件类型过滤等相关技术,使得我们最终完成一个功能完整的文件选择对话框。