窗体动态加载磁盘文件
来源:互联网 发布:网络络建设总结 编辑:程序博客网 时间:2024/06/11 01:50
import java.awt.BorderLayout;
import java.awt.EventQueue;
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 java.sql.Date;
import java.text.SimpleDateFormat;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.UIManager;
import javax.swing.border.EmptyBorder;
import javax.swing.table.DefaultTableModel;
public class FileListFrame extends JFrame{
private static final long serialViersionUID=-615665572894071265L;
private JPanel contentPane;//容器
private JTextField chooseTextField;//文件选择
private JButton chooseButton;//文件选择按钮
private JTable table;//表格对象
private JProgressBar progressBar;//进度条
private JScrollPane scrollPane;//滚动条面板
private File chooseFile;//文件duix
public static void main(String[] args) {
try{
UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
}catch(Throwable e){
e.printStackTrace();
}
EventQueue.invokeLater(new Runnable(){
public void run(){
try{
FileListFrame frame=new FileListFrame();
frame.setVisible(true);
}catch(Exception e){
e.printStackTrace();
}
}
});
}
public FileListFrame(){
setTitle("选择文件夹");
addWindowListener(new WindowAdapter(){
public void windowActivated(WindowEvent arg0){
do_this_windowActivated(arg0);
}
});
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 BorderLayout(0,0));
JPanel panel=new JPanel();
contentPane.add(panel,BorderLayout.NORTH);//将面板添加容器并放在北部
chooseTextField=new JTextField();
panel.add(chooseTextField);
chooseTextField.setColumns(13);
chooseButton=new JButton("\u9009\u62E9\u6587\u4EF6\u5939");
chooseButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0){
do_chooseButton_actionPerformed(arg0);
}
});
panel.add(chooseButton);
progressBar=new JProgressBar();
panel.add(progressBar);//将进度条添加到面板
scrollPane=new JScrollPane();//带滚动条的面板
contentPane.add(scrollPane,BorderLayout.CENTER);
table=new JTable();
scrollPane.setViewportView(table);
}
protected void do_chooseButton_actionPerformed(ActionEvent arg0){
JFileChooser chooser=new JFileChooser();//创建文件选择器
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);//限制仅能选择文件夹
chooser.setMultiSelectionEnabled(false);//禁止多从选择
int result=chooser.showOpenDialog(this);//打开文件选择器
if(result==JFileChooser.APPROVE_OPTION){
File selectDirectory=chooser.getSelectedFile();//获得选择的文件夹
chooseTextField.setText(selectDirectory.getAbsolutePath());//显示文件夹位置
final File[] files=selectDirectory.listFiles();//获得文件夹文件即子目录
final DefaultTableModel model=(DefaultTableModel)table.getModel();//获得表格模型
final SimpleDateFormat format=new SimpleDateFormat("yyyy年MM月dd日");
new Thread(){
public void run(){
for(File file:files){
if(file.isFile()){//如果是文件则向表格模型中添加数据
model.addRow(new Object[]{file.getName(),file.length(),format.format(new Date(file.lastModified()))});
try{
Thread.sleep(1000);//线程休眠
}catch(InterruptedException e){
e.printStackTrace();
}
}
}
}
}.start();
}
}
protected void do_this_windowActivated(WindowEvent arg0){
DefaultTableModel model=(DefaultTableModel)table.getModel();
model.setColumnIdentifiers(new Object[]{"序号","文件名","属性"});
}
}
import java.awt.EventQueue;
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 java.sql.Date;
import java.text.SimpleDateFormat;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.UIManager;
import javax.swing.border.EmptyBorder;
import javax.swing.table.DefaultTableModel;
public class FileListFrame extends JFrame{
private static final long serialViersionUID=-615665572894071265L;
private JPanel contentPane;//容器
private JTextField chooseTextField;//文件选择
private JButton chooseButton;//文件选择按钮
private JTable table;//表格对象
private JProgressBar progressBar;//进度条
private JScrollPane scrollPane;//滚动条面板
private File chooseFile;//文件duix
public static void main(String[] args) {
try{
UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
}catch(Throwable e){
e.printStackTrace();
}
EventQueue.invokeLater(new Runnable(){
public void run(){
try{
FileListFrame frame=new FileListFrame();
frame.setVisible(true);
}catch(Exception e){
e.printStackTrace();
}
}
});
}
public FileListFrame(){
setTitle("选择文件夹");
addWindowListener(new WindowAdapter(){
public void windowActivated(WindowEvent arg0){
do_this_windowActivated(arg0);
}
});
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 BorderLayout(0,0));
JPanel panel=new JPanel();
contentPane.add(panel,BorderLayout.NORTH);//将面板添加容器并放在北部
chooseTextField=new JTextField();
panel.add(chooseTextField);
chooseTextField.setColumns(13);
chooseButton=new JButton("\u9009\u62E9\u6587\u4EF6\u5939");
chooseButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0){
do_chooseButton_actionPerformed(arg0);
}
});
panel.add(chooseButton);
progressBar=new JProgressBar();
panel.add(progressBar);//将进度条添加到面板
scrollPane=new JScrollPane();//带滚动条的面板
contentPane.add(scrollPane,BorderLayout.CENTER);
table=new JTable();
scrollPane.setViewportView(table);
}
protected void do_chooseButton_actionPerformed(ActionEvent arg0){
JFileChooser chooser=new JFileChooser();//创建文件选择器
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);//限制仅能选择文件夹
chooser.setMultiSelectionEnabled(false);//禁止多从选择
int result=chooser.showOpenDialog(this);//打开文件选择器
if(result==JFileChooser.APPROVE_OPTION){
File selectDirectory=chooser.getSelectedFile();//获得选择的文件夹
chooseTextField.setText(selectDirectory.getAbsolutePath());//显示文件夹位置
final File[] files=selectDirectory.listFiles();//获得文件夹文件即子目录
final DefaultTableModel model=(DefaultTableModel)table.getModel();//获得表格模型
final SimpleDateFormat format=new SimpleDateFormat("yyyy年MM月dd日");
new Thread(){
public void run(){
for(File file:files){
if(file.isFile()){//如果是文件则向表格模型中添加数据
model.addRow(new Object[]{file.getName(),file.length(),format.format(new Date(file.lastModified()))});
try{
Thread.sleep(1000);//线程休眠
}catch(InterruptedException e){
e.printStackTrace();
}
}
}
}
}.start();
}
}
protected void do_this_windowActivated(WindowEvent arg0){
DefaultTableModel model=(DefaultTableModel)table.getModel();
model.setColumnIdentifiers(new Object[]{"序号","文件名","属性"});
}
}
阅读全文
0 0
- 窗体动态加载磁盘文件
- 简单动态加载磁盘文件----删除功能
- 动态加载窗体(接上)
- 动态现实磁盘文件
- 加载手机磁盘中的文件
- 动态加载菜单和动态调用窗体
- 水晶报表动态加载磁盘图片
- 把磁盘目录树加载到窗体菜单中
- 利用反射实现窗体动态加载
- 在窗体上动态加载控件
- Qt4之动态加载Ui 窗体控件
- Qt4之动态加载Ui 窗体控件
- 从 dll 程序集中动态加载窗体
- Qt4之动态加载Ui 窗体控件 .
- C# 使用反射动态加载子窗体
- DexClassLoader4.4.2动态加载分析(磁盘加载分析)
- 动态加载CSS文件
- 动态加载SCRIPT文件
- @Autowired与@Resource的区别
- java开发命名规范总结
- Python的RSA
- 学习curses图形库(四)
- linux后台运行和关闭、查看后台任务
- 窗体动态加载磁盘文件
- 字符串逆置递归写法。
- MQ是什么?
- 南阳理工acm71 独木舟上的旅行(贪心简单题)
- 【NOIP2016复赛模拟赛2】买装备
- BSOI_2016.旅行 (comf.pas/c/cpp)
- java中的四种权限修饰符
- 明明的随机数
- appium环境配置(二)