1
28 package demo.view.application;
29
30 import demo.view.DemoBase;
31 import y.view.Graph2DClipboard;
32
33 import javax.swing.Action;
34 import javax.swing.JToolBar;
35 import javax.swing.KeyStroke;
36 import java.awt.EventQueue;
37 import java.awt.event.InputEvent;
38 import java.awt.event.KeyEvent;
39 import java.util.Locale;
40
41
47 public class ClipboardDemo extends DemoBase
48 {
49 Action cutAction;
50 Action copyAction;
51 Action pasteAction;
52
53 public ClipboardDemo()
54 {
55 view.getCanvasComponent().getActionMap().put("CUT", cutAction);
56 view.getCanvasComponent().getInputMap().put(
57 KeyStroke.getKeyStroke(KeyEvent.VK_X, InputEvent.CTRL_MASK),"CUT");
58
59 view.getCanvasComponent().getActionMap().put("COPY", copyAction);
60 view.getCanvasComponent().getInputMap().put(
61 KeyStroke.getKeyStroke(KeyEvent.VK_C, InputEvent.CTRL_MASK), "COPY");
62
63 view.getCanvasComponent().getActionMap().put("PASTE", pasteAction);
64 view.getCanvasComponent().getInputMap().put(
65 KeyStroke.getKeyStroke(KeyEvent.VK_V, InputEvent.CTRL_MASK), "PASTE");
66
67 loadInitialGraph();
68 }
69
70 protected void loadInitialGraph() {
71 loadGraph("resource/ClipboardDemo.graphml");
72 }
73
74 protected void registerViewActions() {
75 super.registerViewActions();
76 Graph2DClipboard clipboard = new Graph2DClipboard(view);
78
79 cutAction = clipboard.getCutAction();
81 cutAction.putValue(Action.SMALL_ICON, getIconResource("resource/cut.png"));
82 cutAction.putValue(Action.SHORT_DESCRIPTION, "Cut");
83
84 copyAction = clipboard.getCopyAction();
86 copyAction.putValue(Action.SMALL_ICON, getIconResource("resource/copy.png"));
87 copyAction.putValue(Action.SHORT_DESCRIPTION, "Copy");
88
89 pasteAction = clipboard.getPasteAction();
91 pasteAction.putValue(Action.SMALL_ICON, getIconResource("resource/paste.png"));
92 pasteAction.putValue(Action.SHORT_DESCRIPTION, "Paste");
93 }
94
95 protected JToolBar createToolBar() {
96 JToolBar jtb = super.createToolBar();
97 jtb.addSeparator();
98 jtb.add(cutAction);
99 jtb.add(copyAction);
100 jtb.add(pasteAction);
101 return jtb;
102 }
103
104
107 protected boolean isClipboardEnabled() {
108 return false;
109 }
110
111 public static void main(String[] args) {
112 EventQueue.invokeLater(new Runnable() {
113 public void run() {
114 Locale.setDefault(Locale.ENGLISH);
115 initLnF();
116 new ClipboardDemo().start();
117 }
118 });
119 }
120 }
121