📄 uploadpanel.java
字号:
*/ 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 + -