⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uploadpanel.java

📁 该系统是一个基于p2p的即时聊天系统
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
     */    private void reloadEntries() {        unloadEntries();        loadEntries();    }    /**     * 卸载用户     */    private void unloadUsers() {        int count = USER_ROOT.getChildCount();        for (int i = 0; i < count; i++) {            userSystemModel.removeNodeFromParent(                (DefaultMutableTreeNode) USER_ROOT.getChildAt(0));        }    }    /*------------------------------------------------------------------------*     *                                 内部类                                 *     *------------------------------------------------------------------------*/    /**     * 工具栏面板     */    class Toolbar extends JPanel {        /**         * Create a new instance of this class         */        public Toolbar() {            super(new FlowLayout(FlowLayout.CENTER, 5, 0));            //新建目录            JButton button = new JButton(NewDirectoryAction.getInstance());            button.setIcon(ImageShop.DIRECTORY_IMAGEICON);            button.addMouseListener(new SBChanger(                NewDirectoryAction.getInstance().getHintInfo(), false));            add(button);            //添加文件            button = new JButton(AddFileAction.getInstance());            button.setIcon(ImageShop.ADD_FILE_IMAGEICON);            button.addMouseListener(new SBChanger(                AddFileAction.getInstance().getHintInfo(), false));            add(button);            //删除文件            button = new JButton(DeleteFileAction.getInstance());            button.setIcon(ImageShop.DELETE_FILE_IMAGEICON);            button.addMouseListener(new SBChanger(                DeleteFileAction.getInstance().getHintInfo(), false));            add(button);            //重命名            button = new JButton(RenameAction.getInstance());            button.setIcon(ImageShop.RENAME_IMAGEICON);            button.addMouseListener(new SBChanger(                RenameAction.getInstance().getHintInfo(), false));            add(button);            //提取文件            button = new JButton(ExtractFileAction.getInstance());            button.setIcon(ImageShop.EXTRACT_IMAGEICON);            button.addMouseListener(new SBChanger(                ExtractFileAction.getInstance().getHintInfo(), false));            add(button);            //设置共享            button = new JButton(SetShareAction.getInstance());            button.setIcon(ImageShop.SET_SHARE_IMAGEICON);            button.addMouseListener(new SBChanger(                SetShareAction.getInstance().getHintInfo(), false));            add(button);        }    }    /**     * 文件视图面板     */    class FileViewPanel extends JPanel implements TreeSelectionListener {        /**         * 文件信息文本域         */        private JTextArea fileInfoTextArea = new JTextArea();        /**         * Create a new instance of this class         */        public FileViewPanel() {            super(new GridBagLayout());            //文件视图标签            GridBagConstraints constraints = new GridBagConstraints(                //gridx, gridy                0, 0,                //gridwidth, gridheight                1, 1,                //weightx, weighty                0.0, 0.0,                //anchor                GridBagConstraints.NORTHWEST,                //fill                GridBagConstraints.NONE,                //insets                new Insets(0, 5, 0, 0),                //ipadx, ipady                0, 0);            add(new JLabel("文件视图"), constraints);            //文件系统树            fileSystemModel = new DefaultTreeModel(FILE_ROOT);            fileSystemTree = new JTree(fileSystemModel);            fileSystemTree.addTreeSelectionListener(this);            loadEntries();            setTree(fileSystemTree);            setTreeCellRenderer();            JScrollPane scroller1 = new JScrollPane(fileSystemTree,                JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,                JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);            //文件信息文本域            fileInfoTextArea.setEditable(false);            JScrollPane scroller2 = new JScrollPane(fileInfoTextArea,                JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,                JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);            //分割条            JSplitPane spliter = new JSplitPane(JSplitPane.VERTICAL_SPLIT,                false, scroller1, scroller2);            spliter.setBorder(null);            spliter.setDividerLocation(350);            constraints.gridy = 1;            constraints.weightx = 1.0;            constraints.weighty = 1.0;            constraints.fill = GridBagConstraints.BOTH;            constraints.insets = new Insets(0, 0, 0, 0);            add(spliter, constraints);        }        /**         * 设置文件系统树组件的单元格渲染器         */        private void setTreeCellRenderer() {            final DefaultTreeCellRenderer renderer1 =                (DefaultTreeCellRenderer) fileSystemTree.getCellRenderer();            DefaultTreeCellRenderer renderer2 = new DefaultTreeCellRenderer() {                public Component getTreeCellRendererComponent(JTree tree,                    Object value, boolean selected, boolean expanded,                    boolean leaf, int row, boolean hasFocus) {                    Component c = renderer1.getTreeCellRendererComponent(tree,                        value, selected, expanded, leaf, row, hasFocus);                    JLabel label = (JLabel) c;                    if (value == FILE_ROOT) {                        label.setIcon(ImageShop.FILE_ROOT_IMAGEICON);                    } else {                        ZipEntry entry = (ZipEntry)                            ((DefaultMutableTreeNode) value).getUserObject();                        if (entry.isDirectory() == true) {                            if (expanded == true) {                                label.setIcon(ImageShop.EXPAND_IMAGEICON);                            } else {                                label.setIcon(ImageShop.COLLAPSE_IMAGEICON);                            }                        }                        label.setText(toolkit.getShortName(entry));                    }                    return c;                }            };            fileSystemTree.setCellRenderer(renderer2);        }        /**         * 实现TreeSelectionListener接口的方法         *         * @param event TreeSelectionEvent对象         */        public void valueChanged(TreeSelectionEvent event) {            //处理文件视图            DefaultMutableTreeNode node = (DefaultMutableTreeNode) event                .getPath().getLastPathComponent();            StringBuffer buffer = new StringBuffer();            buffer.append("名称:");            if (node == FILE_ROOT) {                File file = new File(XMLConfig.getUploadFile());                buffer.append(file.getPath());                buffer.append("\n大小:");                buffer.append("\n压缩后大小:");                buffer.append(file.length());                buffer.append("\n类型:");                buffer.append("\n修改时间:");                buffer.append(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")                    .format(new Date(file.lastModified())));                ActionCenter.getInstance().setActionWhenSelectUpload();            } else {                ZipEntry entry = (ZipEntry) node.getUserObject();                buffer.append(toolkit.getShortName(entry));                if (entry.isDirectory()) {                    buffer.append("\n大小:");                    buffer.append("\n压缩后大小:");                    buffer.append("\n类型:目录");                    ActionCenter.getInstance().setActionWhenSelectDirectory();                } else {                    buffer.append("\n大小:");                    buffer.append(entry.getSize());                    buffer.append("\n压缩后大小:");                    buffer.append(entry.getCompressedSize());                    buffer.append("\n类型:文件");                    String name = toolkit.getShortName(entry);                    int index = name.lastIndexOf('.');                    if (index != -1) {                        name = name.substring(index + 1, name.length());                        buffer.append(name);                    }                    ActionCenter.getInstance().setActionWhenSelectFile();                }                buffer.append("\n修改时间:");                buffer.append(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")                    .format(new Date(entry.getTime())));            }            fileInfoTextArea.setText(buffer.toString());            //处理用户视图            handlerUserViewPanel();        }    }    /**     * 用户视图面板     */    class UserViewPanel extends JPanel {        /**         * Create a new instance of this class         */        public UserViewPanel() {            super(new GridBagLayout());            //用户视图标签            GridBagConstraints constraints = new GridBagConstraints(                //gridx, gridy                0, 0,                //gridwidth, gridheight                1, 1,                //weightx, weighty                0.0, 0.0,                //anchor                GridBagConstraints.NORTHWEST,                //fill                GridBagConstraints.NONE,                //insets                new Insets(0, 5, 0, 0),                //ipadx, ipady                0, 0);            add(new JLabel("好友视图"), constraints);            //用户系统树            userSystemModel = new DefaultTreeModel(USER_ROOT);            userSystemTree = new JTree(userSystemModel);            setTreeCellRenderer();            setTree(userSystemTree);            JScrollPane scroller1 = new JScrollPane(userSystemTree,                JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,                JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);            //用户信息文本域            userInfoTextArea = new JTextArea();            userInfoTextArea.setEditable(false);            JScrollPane scroller2 = new JScrollPane(userInfoTextArea,                JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,                JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);            //分割条            JSplitPane spliter = new JSplitPane(JSplitPane.VERTICAL_SPLIT,                false, scroller1, scroller2);            spliter.setBorder(null);            spliter.setDividerLocation(350);            constraints.gridy = 1;            constraints.weightx = 1.0;            constraints.weighty = 1.0;            constraints.fill = GridBagConstraints.BOTH;            constraints.insets = new Insets(0, 0, 0, 0);            add(spliter, constraints);        }        /**         * 设置文件系统树组件的单元格渲染器         */        private void setTreeCellRenderer() {            final DefaultTreeCellRenderer renderer1 =                (DefaultTreeCellRenderer) userSystemTree.getCellRenderer();            DefaultTreeCellRenderer renderer2 = new DefaultTreeCellRenderer() {                public Component getTreeCellRendererComponent(JTree tree,                    Object value, boolean selected, boolean expanded,                    boolean leaf, int row, boolean hasFocus) {                    Component c = renderer1.getTreeCellRendererComponent(tree,                        value, selected, expanded, leaf, row, hasFocus);                    JLabel label = (JLabel) c;                    if (value == USER_ROOT) {                        label.setIcon(ImageShop.USER_ROOT_IMAGEICON);                    } else {                        label.setIcon(ImageShop.USER_IMAGEICON);                    }                    return c;                }            };            userSystemTree.setCellRenderer(renderer2);        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -