JFrame显示指定类型的文件
来源:互联网 发布:微信排队返利源码 编辑:程序博客网 时间:2024/06/10 05:08
代码:package unitTwelve;import javax.swing.*;import javax.swing.table.DefaultTableModel;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.File;import java.io.FileFilter;import java.text.SimpleDateFormat;import java.util.Date;/** * 描述:显示指定类型的文件 * 作者: ChengShanyunduo * 创建日期: 2017-07-07 * 修改记录: */public class FilesList extends JFrame{ JFrame jFrame = new JFrame(); JPanel jPanel1 = new JPanel(); JPanel jPanel2 = new JPanel(); JLabel label = new JLabel("输入文件扩展名:"); JTextField jTextField = new JTextField(); JButton button = new JButton("选择文件夹"); String[] columnNames = {"文件名","文件大小","修改时间"}; String[][]data=new String[0][3]; DefaultTableModel model = new DefaultTableModel(data,columnNames); JTable jTable = new JTable(model); JScrollPane scroll = new JScrollPane(jTable); FilesList(){ jPanel1.setLayout(new GridLayout(1,3)); jPanel1.setSize(450,30); jTextField.setSize(150,30); jPanel1.add(label); jPanel1.add(jTextField); jPanel1.add(button); //监听 button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { do_button_actionPerformed(e); } }); jFrame.setLayout(new FlowLayout()); jFrame.add(jPanel1); jFrame.add(scroll); jFrame.setSize(500,500); jFrame.setVisible(true); } protected void do_button_actionPerformed(ActionEvent e){ //获取text中内容 final String fileType = jTextField.getText(); //如果为空。弹出提醒 if (fileType.isEmpty()){ JOptionPane.showMessageDialog(this,"请输入文件类型","",JOptionPane.WARNING_MESSAGE); return; } //文件选择器 JFileChooser chooser = new JFileChooser(); //只能选择文件夹 chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); //禁止选择多个文件夹 chooser.setMultiSelectionEnabled(false); //打开文件选择器 int result = chooser.showOpenDialog(this); if (result == JFileChooser.APPROVE_OPTION){ //获得相同类型的文件 File[] listFiles = chooser.getSelectedFile().listFiles(new FileFilter(){ @Override public boolean accept(File pathname){ if (pathname.getName().endsWith(fileType)){ return true; }else{ return false; } } }); DefaultTableModel model = (DefaultTableModel) jTable.getModel(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //遍历File数组 for (File file : listFiles){ String name = file.getName(); long size = file.length(); String modifyDate = format.format(new Date(file.lastModified())); model.addRow(new String[]{name,""+size,modifyDate}); } jTable.setModel(model); } } public static void main(String[] args){ FilesList a = new FilesList(); }}
结果:
阅读全文
0 0
- JFrame显示指定类型的文件
- IO流之显示指定类型的文件
- 显示指定文件夹下的所有的指定类型的文件
- win32控制台下实现查找并显示指定目录下的指定类型文件
- 在指定目录中查找指定类型的文件,并且获取文件名再显示
- 文件上传js打开文件管理器过滤只显示指定类型文件的实现
- 压缩指定类型的文件
- linux 删除指定文件夹指定大小指定类型的文件
- 递归搜索指定类型的文件
- c++ 递归查找指定类型的文件。
- iOS 删除指定类型的文件
- 如何打开指定类型的文件
- Android/读取指定类型的文件
- 删除文件夹下指定类型的文件
- iOS删除指定类型的文件
- Android创建指定大小、类型的文件
- input上传指定类型的文件
- Python 查找指定类型的文件
- GSON
- lenovo android 更换 锁屏壁纸
- Mybatis模糊查询的两种实现方式
- 图像识别与检测技术的创新
- android CoordinatorLayout使用
- JFrame显示指定类型的文件
- redis sentinel 主从切换(failover)解决方案,详细配置
- PG重建临时库
- “盛大游戏杯”第15届上海大学程序设计联赛夏季赛暨上海高校金马五校赛-神无月排位赛
- 定时器和ajax
- Win10下VS2015(WDK10)驱动开发环境配置
- 编译原理学习笔记
- LINUX KERNEL COMPILE ERROR LIST
- StringTokenizer类的使用方法