?? 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 + -