📄 renameaction.java
字号:
/* * @(#) RenameAction.java * Copyright 2004 HWStudio. All rights reserved. */package hws.item.smart.action.share.upload;//导入核心Java类库import java.awt.event.ActionEvent;import java.util.List;import java.util.zip.ZipEntry;import javax.swing.JOptionPane;import javax.swing.tree.DefaultMutableTreeNode;//导入自定义Java类库import hws.item.smart.Smart;import hws.item.smart.misc.PopToolkit;import hws.item.smart.misc.StringShop;import hws.item.smart.panel.function.chat.ViewPanel;import hws.item.smart.panel.function.share.UploadPanel;import hws.item.smart.action.BaseAction;import hws.item.smart.utility.chat.UserInfo;/** * 对文件或者目录重新命名 * * @version 0.1 2005-08-29 * @author Hwerz */public class RenameAction extends BaseAction { /*------------------------------------------------------------------------* * 属性定义 * *------------------------------------------------------------------------*/ /** * 该类自身的一个静态引用 */ private static RenameAction action; /*------------------------------------------------------------------------* * 构造函数 * *------------------------------------------------------------------------*/ /** * 构造函数为私有,这样在整个运行过程中该类就只能有一个实例 */ private RenameAction() { super("重命名"); setHintInfo("对文件或者目录重新命名"); setEnabled(false); } /*------------------------------------------------------------------------* * 公共方法 * *------------------------------------------------------------------------*/ /** * 对该类提供的一个全局访问点,用来实例化该对象 * * @return 该类唯一的一个实例 */ public static RenameAction getInstance() { if (action == null) { action = new RenameAction(); } return action; } /*------------------------------------------------------------------------* * 私有方法 * *------------------------------------------------------------------------*/ /** * 重命名 */ private void rename() { DefaultMutableTreeNode n = UploadPanel.getInstance().getSelectedNode(); ZipEntry entry = (ZipEntry) n.getUserObject(); String oldName = entry.getName(); if (entry.isDirectory() == true) { oldName = oldName.substring(0, oldName.length() - 1); int index = oldName.lastIndexOf("/"); oldName = oldName.substring(index + 1, oldName.length()); } else { int index = oldName.lastIndexOf("/"); oldName = oldName.substring(index + 1, oldName.length()); } boolean flag = true; do { String newName = (String) JOptionPane.showInputDialog( Smart.getInstance(), "请输入合法的文件名:", "重命名", JOptionPane.PLAIN_MESSAGE, null, null, oldName); if (newName != null) { newName = newName.trim(); if (PopToolkit.checkFileName(newName)) { if (newName.equals(oldName) == false) { UploadPanel.getInstance().rename(newName); } flag = false; } else { int option = JOptionPane.showConfirmDialog( Smart.getInstance(), "您输入的文件名不合法,要重新输入吗?", StringShop.HINT_TITLE, JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE); if (option == JOptionPane.NO_OPTION) { flag = false; } } } else { flag = false; } } while (flag); } /*------------------------------------------------------------------------* * 覆盖方法 * *------------------------------------------------------------------------*/ /** * 覆盖超类Action的方法 * * @param event ActionEvent对象 */ public void actionPerformed(ActionEvent event) { String id = ViewPanel.getInstance().getUserID(); if (id.length() > 0) { UserInfo user = UserInfo.getRemoteUserInfo(id); List files = user.getSharesInfo().getAllShareFiles(); String file = UploadPanel.getInstance().getSelectedFile(); boolean shared = false; for (int i = 0; i < files.size(); i++) { String file2 = files.get(i).toString(); if (file2.indexOf(file) != -1) { shared = true; break; } } if (shared) { JOptionPane.showMessageDialog(Smart.getInstance(), "不能重命名共享文件及其所在的目录,除非先取消文件的共享属性!", StringShop.HINT_TITLE, JOptionPane.INFORMATION_MESSAGE); } else { rename(); } } else { JOptionPane.showMessageDialog(Smart.getInstance(), "您还没有登录,请先登录!", StringShop.HINT_TITLE, JOptionPane.INFORMATION_MESSAGE); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -