1
2
3
4
5
6
7 package com.vikash.firsttool.UI;
8 import com.vikash.firsttool.Diagram.*;
9 import java.awt.event.*;
10 import java.net.URL;
11 import javax.swing.*;
12
13 /***
14 *
15 * @author studajb
16 */
17 public class RedoAction extends AbstractAction {
18 ToolInternalFrame internalframe;
19 MainFrame frame;
20 EditorPanel panel;
21 ToolGraph graph;
22 static RedoAction instance;
23
24 public static RedoAction getinstance(final MainFrame frame,boolean flag){
25 if(flag)
26 instance=null;
27 if(instance==null){
28 instance=new RedoAction(frame);
29 }
30 return instance;
31 }
32
33 /*** Creates a new instance of UndoAction */
34 public RedoAction(MainFrame frame) {
35 URL icon=getClass().getClassLoader().getResource("com/vikash/firsttool/resources/redo.gif");
36 putValue(Action.SMALL_ICON,new ImageIcon(icon));
37 putValue(Action.SHORT_DESCRIPTION,"Redo");
38 putValue(Action.ACCELERATOR_KEY,KeyStroke.getKeyStroke(KeyEvent.VK_Y,InputEvent.CTRL_MASK));
39 setEnabled(false);
40 this.frame=frame;
41 }
42
43 public void actionPerformed(ActionEvent e) {
44 internalframe=(ToolInternalFrame)frame.getDesktopPane().getSelectedFrame();
45 if(internalframe!=null){
46 panel=internalframe.getPanel();
47 graph=internalframe.getGraph();
48 ToolUndo undomanager=panel.getUndoManager();
49 try {
50 undomanager.redo(graph.getGraphLayoutCache());
51 } catch (Exception ex) {
52 System.err.println(ex);
53 } finally {
54
55
56 panel.updateundoredobuttons();
57 }
58 }
59 }
60
61 }