Java---隐藏文件查看器

来源:互联网 发布:qq钓鱼源码 编辑:程序博客网 时间:2024/06/17 04:58
package com.lw;import java.awt.BorderLayout;import java.awt.EventQueue;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.File;import java.io.FileFilter;import javax.swing.JButton;import javax.swing.JFileChooser;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;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 HiddenFilesViewer extends JFrame {        /**     *      */    private static final long serialVersionUID = -57162802332322081L;    private JPanel contentPane;    private JTextField textField;    private JTable table;        /**     * Launch the application.     */    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 {                    HiddenFilesViewer frame = new HiddenFilesViewer();                    frame.setVisible(true);                } catch (Exception e) {                    e.printStackTrace();                }            }        });    }        /**     * Create the frame.     */    public HiddenFilesViewer() {    setTitle("隐藏文件查看器");        //setTitle("\u9690\u85CF\u6587\u4EF6\u67E5\u770B\u5668");        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        setBounds(100, 100, 500,500);        contentPane = new JPanel();        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));        contentPane.setLayout(new BorderLayout(0, 0));        setContentPane(contentPane);                JPanel panel = new JPanel();        contentPane.add(panel, BorderLayout.NORTH);                JLabel label = new JLabel("\u8BF7\u9009\u62E9\u6587\u4EF6\u5939\uFF1A");        panel.add(label);                textField = new JTextField();        panel.add(textField);        textField.setColumns(25);        JButton button = new JButton("打开");        //JButton button = new JButton("\u6253\u5F00");        //给按钮添加事件监听器        button.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent e) {                do_button_actionPerformed(e);            }        });        panel.add(button);                JScrollPane scrollPane = new JScrollPane();        contentPane.add(scrollPane, BorderLayout.CENTER);                table = new JTable();        scrollPane.setViewportView(table);    }        protected void do_button_actionPerformed(ActionEvent e) {        JFileChooser chooser = new JFileChooser();// 创建文件选择器        chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);// 设置文件选择器只能选择文件夹        int result = chooser.showOpenDialog(this);// 保存文件选择器的操作结果        //判断是否进行了选择        if (result == JFileChooser.APPROVE_OPTION) {            File directory = chooser.getSelectedFile();// 获得用户选择的文件夹            textField.setText(directory.getAbsolutePath());// 在文本框中显示文本夹所在路径            //添加文件过滤器            File[] hiddenFiles = directory.listFiles(new FileFilter() {// 过滤掉非隐藏文件                                            @Override                        public boolean accept(File pathname) {                            if (pathname.isHidden()) {                                return true;                            } else {                                return false;                            }                        }                    });            DefaultTableModel model = (DefaultTableModel) table.getModel();// 获得表格模型            model.setColumnIdentifiers(new Object[] { "序号", "文件名" });// 设置表头            int count = 1;            for (File hiddenFile : hiddenFiles) {                model.addRow(new Object[] { count++, hiddenFile.getName() });// 增加行            }            table.setModel(model);// 更新表格模型        }    }}

0 0
原创粉丝点击