使用JFileChooser打开文件
来源:互联网 发布:电子数据 司法解释 编辑:程序博客网 时间:2024/05/29 10:34
-----------------siwuxie095
工程名:TestFileChooser
包名:com.siwuxie095.filechooser
类名:TestOpen.java
工程结构目录如下:
代码:
package com.siwuxie095.filechooser;
import java.awt.EventQueue;
import java.awt.FlowLayout;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.File;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.border.EmptyBorder;
import com.sun.java.swing.plaf.windows.WindowsLookAndFeel;
/**
* JFileChooser是 Java Swing框架中的文件选择器,
*在应用程序中经常会遇到打开文件和保存文件等操作,
*文件选择器 JFileChooser是专门应对这种情况而出现的
*
* @author siwux
*
*/
public class TestOpenextends JFrame {
private JPanel contentPane;
//声明一个 JFileChooser 对象
private JFileChooser chooser;
/**
* Launch the application.
*/
public staticvoid main(String[] args) {
EventQueue.invokeLater(new Runnable() {
publicvoid run() {
try {
TestOpen frame =new TestOpen();
frame.setVisible(true);
}catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public TestOpen() {
try {
UIManager.setLookAndFeel(new WindowsLookAndFeel());
}catch (UnsupportedLookAndFeelException e1) {
e1.printStackTrace();
}
//将 chooser 实例化
chooser=new JFileChooser();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100,100, 450,300);
contentPane =new JPanel();
contentPane.setBorder(new EmptyBorder(5,5, 5,5));
setContentPane(contentPane);
contentPane.setLayout(new FlowLayout(FlowLayout.CENTER,5, 5));
JButton btnOpenFile =new JButton("Open File");
btnOpenFile.setFocusable(false);
btnOpenFile.addMouseListener(new MouseAdapter() {
@Override
publicvoid mouseClicked(MouseEvent e) {
/**
*弹出一个打开文件的对话框 showOpenDialog()
*需要指定一个父级窗体,或指定为 null
*返回值是 int类型,创建以接收返回值
*/
int value=chooser.showOpenDialog(TestOpen.this);
chooser.setMultiSelectionEnabled(true);
//如果返回 APPROVE_OPTION,说明有文件被成功返回,即成功打开文件
//也可以使用类调用,即 JFileChooser.APPROVE_OPTION
if (value==chooser.APPROVE_OPTION) {
// //创建一个文件对象,接收返回值
// //getSelectedFile()只能返回选中文件中的第一个文件
// File file=chooser.getSelectedFile();
// System.out.println(file.getAbsolutePath());
//getSelectedFiles()返回所有选中的文件
File filex[]=chooser.getSelectedFiles();
for (int i =0; i < filex.length; i++) {
System.out.println(filex[i].getAbsolutePath());
}
}
}
});
contentPane.add(btnOpenFile);
JButton btnOpenDir =new JButton("Open Dir");
btnOpenDir.setFocusable(false);
btnOpenDir.addMouseListener(new MouseAdapter() {
@Override
publicvoid mouseClicked(MouseEvent e) {
//设定当前可选择的文件类型,设定为 DIRECTORIES_ONLY,即只能选择文件夹
//如果没有设定,默认为 FILES_ONLY,即只能选择文件
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
//将chooser设定为可多选
//如果没有设定,默认为 false,即只能单选
chooser.setMultiSelectionEnabled(true);
int value=chooser.showOpenDialog(TestOpen.this);
if (value==chooser.APPROVE_OPTION) {
// //创建一个文件对象,接收返回值
// //getSelectedFile()只能返回选中文件夹中的第一个文件夹
// File dir=chooser.getSelectedFile();
// System.out.println(dir.getAbsolutePath());
//getSelectedFiles()返回所有选中的文件夹
File dirx[]=chooser.getSelectedFiles();
for (int i =0; i < dirx.length; i++) {
System.out.println(dirx[i].getAbsolutePath());
}
}
}
});
contentPane.add(btnOpenDir);
}
}
将窗体JFrame 的 LookAndFeel 设定为 Windows
将根面板contentPane 的布局改为 Flow Layout,在其中添加两个 JButton
将两个JButton 的 focusable 属性设为false,并将其文本(text)分别改为:
Open File 和 Open Dir,再分别 Rename 为:btnOpenFile 和 btnOpenDir
为两个 JButton 添加 mouseClicked 事件,点击 按钮 弹出对话框
运行程序:
【made by siwuxie095】
- 使用JFileChooser打开文件
- JAVASE中JFileChooser的使用小结 打开文件并显示
- 使用JFileChooser保存文件
- 使用Profile文件记录JFileChooser(或者File控件)最新打开的文件路径
- JFileChooser(文件选择器)的使用
- JAVA文件选择JFileChooser使用例子
- 文件选择框JFileChooser的使用
- 如何实现文件的打开与保存对话框(JFileChooser)
- Java Swing 使用JFileChooser保存带自定义后缀名的文件
- JFileChooser设置窗体打开路径
- JFileChooser设置窗体打开路径
- JAVA 文件对话框JFileChooser
- JFileChooser文件过滤
- jFileChooser showSaveDialog 保存文件
- jFileChooser showSaveDialog 保存文件
- 文件选择器(JFileChooser)
- java JFileChooser 文件过滤
- JFileChooser 文件类别 过滤
- JMeter使用中遇到的问题该如何解决?
- 用navicat premium连接数据库遇到的问题
- android开发 NDK 编译和使用静态库、动态库
- JDK中设计模式
- GUI_如何设置窗体居中的代码
- 使用JFileChooser打开文件
- E0021
- set/getenforce
- iBET Casino Adidas Yeezy 350 V2 Lucky Draw(Adidas Yeezy 350 V2, Casino588 Malaysia, Deposit RM500, i
- 云端持续集成——AppVeyor
- 用于图匹配和对象发现的挖掘与或图Mining And-Or Graphs for Graph Matching and Object Discovery
- 我的学习路线
- 安装Ubuntu15.10和编译RT补丁
- 第六单元总结