1 package SnowMailClient.view.folders; 2 3 import SnowMailClient.model.folders.*; 4 import SnowMailClient.SnowMailClientApp; 5 6 import java.awt.*; 7 import java.awt.event.*; 8 import javax.swing.*; 9 import javax.swing.event.*; 10 import javax.swing.tree.*; 11 12 public class RenameSelectedFolder extends AbstractAction implements TreeSelectionListener 13 { 14 15 JTree tree; 16 FolderTreeNode node; 17 18 public RenameSelectedFolder( FolderTreeNode node, JTree tree) 19 { 20 super("Rename folder"+(node!=null?" "+node.getFolderName():"")); 21 putValue(AbstractAction.SMALL_ICON, SnowMailClientApp.loadImageIcon("pics/renamefolder.PNG")); 22 this.tree = tree; 23 this.node = node; 24 tree.getSelectionModel().addTreeSelectionListener(this); 25 } 26 27 public void valueChanged(TreeSelectionEvent e) 28 { 29 this.setEnabled( tree.getSelectionCount()==1 ); 30 } 31 32 public void actionPerformed(ActionEvent e) 33 { 34 String newName = JOptionPane.showInputDialog(tree, 35 "Enter the new folder name", 36 "Rename folder"+(node!=null?" "+node.getFolderName():""), 37 JOptionPane.QUESTION_MESSAGE); 38 39 if(newName==null) return; 40 41 42 try 43 { 44 if(node!=null) 45 { 46 FolderTreeNode parent = node.getParentNode(); 48 node.rename(newName); 49 50 tree.updateUI(); 52 } 53 } 54 catch(Exception e2) 55 { 56 58 JOptionPane.showMessageDialog(tree, "Error: "+e2.getMessage(), "Cannot rename folder", 59 JOptionPane.ERROR_MESSAGE); 60 } 61 } 62 63 } | Popular Tags |