JTextPane上でCommand+Cとかでコピペをできるようにする
()
| 234 | * JTextPane上でCommand+Cとかでコピペをできるようにする |
| 235 | */ |
| 236 | private void addShortcutForMac() { |
| 237 | if (!PacketProxyUtility.getInstance().isMac()) { |
| 238 | |
| 239 | return; |
| 240 | } |
| 241 | JPanel p = (JPanel) getContentPane(); |
| 242 | InputMap im = p.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW); |
| 243 | ActionMap am = p.getActionMap(); |
| 244 | int hotkey = (KeyEvent.CTRL_MASK | KeyEvent.META_MASK); |
| 245 | registerTabShortcut(KeyEvent.VK_H, hotkey, im, am, Panes.HISTORY.ordinal()); |
| 246 | registerTabShortcut(KeyEvent.VK_I, hotkey, im, am, Panes.INTERCEPT.ordinal()); |
| 247 | registerTabShortcut(KeyEvent.VK_R, hotkey, im, am, Panes.RESENDER.ordinal()); |
| 248 | registerTabShortcut(KeyEvent.VK_B, hotkey, im, am, Panes.BULKSENDER.ordinal()); |
| 249 | registerTabShortcut(KeyEvent.VK_O, hotkey, im, am, Panes.OPTIONS.ordinal()); |
| 250 | registerTabShortcut(KeyEvent.VK_L, hotkey, im, am, Panes.LOG.ordinal()); |
| 251 | |
| 252 | JTextComponent.KeyBinding[] bindings1 = { |
| 253 | new JTextComponent.KeyBinding( |
| 254 | KeyStroke.getKeyStroke(KeyEvent.VK_C, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()), |
| 255 | DefaultEditorKit.copyAction), |
| 256 | new JTextComponent.KeyBinding( |
| 257 | KeyStroke.getKeyStroke(KeyEvent.VK_V, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()), |
| 258 | DefaultEditorKit.pasteAction), |
| 259 | new JTextComponent.KeyBinding( |
| 260 | KeyStroke.getKeyStroke(KeyEvent.VK_X, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()), |
| 261 | DefaultEditorKit.cutAction), |
| 262 | new JTextComponent.KeyBinding( |
| 263 | KeyStroke.getKeyStroke(KeyEvent.VK_A, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()), |
| 264 | DefaultEditorKit.selectAllAction),}; |
| 265 | |
| 266 | JTextPane component_tp = new JTextPane(); |
| 267 | Keymap keymap_tp = component_tp.getKeymap(); |
| 268 | JTextComponent.loadKeymap(keymap_tp, bindings1, component_tp.getActions()); |
| 269 | |
| 270 | JTextField component_tf = new JTextField(); |
| 271 | Keymap keymap_tf = component_tf.getKeymap(); |
| 272 | JTextComponent.loadKeymap(keymap_tf, bindings1, component_tf.getActions()); |
| 273 | |
| 274 | JTextArea component_ta = new JTextArea(); |
| 275 | Keymap keymap_ta = component_ta.getKeymap(); |
| 276 | JTextComponent.loadKeymap(keymap_ta, bindings1, component_ta.getActions()); |
| 277 | } |
| 278 | |
| 279 | private void addShortcutForWindows() { |
| 280 | if (PacketProxyUtility.getInstance().isMac()) { |
no test coverage detected