KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > SnowMailClient > view > folders > RenameSelectedFolder


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 JavaDoc 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(); // first get parent...
47

48           node.rename(newName);
49
50           // ### ugly
51
tree.updateUI();
52         }
53      }
54      catch(Exception JavaDoc e2)
55      {
56        // e2.printStackTrace();
57

58        JOptionPane.showMessageDialog(tree, "Error: "+e2.getMessage(), "Cannot rename folder",
59           JOptionPane.ERROR_MESSAGE);
60      }
61   }
62
63 } // RenameSelectedFolder
Popular Tags