下面列出了javax.swing.text.DefaultEditorKit#selectAllAction ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
/**
* JTextPane上でCommand+Cとかでコピペをできるようにする
*/
private void addShortcutForMac() {
if (!PacketProxyUtility.getInstance().isMac()) {
return;
}
JPanel p = (JPanel) getContentPane();
InputMap im = p.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
ActionMap am = p.getActionMap();
int hotkey = (KeyEvent.CTRL_MASK | KeyEvent.META_MASK);
registerTabShortcut(KeyEvent.VK_H, hotkey, im, am, Panes.HISTORY.ordinal());
registerTabShortcut(KeyEvent.VK_I, hotkey, im, am, Panes.INTERCEPT.ordinal());
registerTabShortcut(KeyEvent.VK_R, hotkey, im, am, Panes.REPEATER.ordinal());
registerTabShortcut(KeyEvent.VK_B, hotkey, im, am, Panes.BULKSENDER.ordinal());
registerTabShortcut(KeyEvent.VK_O, hotkey, im, am, Panes.OPTIONS.ordinal());
registerTabShortcut(KeyEvent.VK_L, hotkey, im, am, Panes.LOG.ordinal());
JTextComponent.KeyBinding[] bindings1 = {
new JTextComponent.KeyBinding(
KeyStroke.getKeyStroke(KeyEvent.VK_C, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()),
DefaultEditorKit.copyAction),
new JTextComponent.KeyBinding(
KeyStroke.getKeyStroke(KeyEvent.VK_V, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()),
DefaultEditorKit.pasteAction),
new JTextComponent.KeyBinding(
KeyStroke.getKeyStroke(KeyEvent.VK_X, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()),
DefaultEditorKit.cutAction),
new JTextComponent.KeyBinding(
KeyStroke.getKeyStroke(KeyEvent.VK_A, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()),
DefaultEditorKit.selectAllAction),
};
JTextPane component_tp = new JTextPane();
Keymap keymap_tp = component_tp.getKeymap();
JTextComponent.loadKeymap(keymap_tp, bindings1, component_tp.getActions());
JTextField component_tf = new JTextField();
Keymap keymap_tf = component_tf.getKeymap();
JTextComponent.loadKeymap(keymap_tf, bindings1, component_tf.getActions());
JTextArea component_ta = new JTextArea();
Keymap keymap_ta = component_ta.getKeymap();
JTextComponent.loadKeymap(keymap_ta, bindings1, component_ta.getActions());
}
public static void setOSXFieldShortcuts() {
String lowercaseOSName = System.getProperty("os.name").toLowerCase();
boolean MAC_OS_X = lowercaseOSName.startsWith("mac os x");
if(MAC_OS_X) {
Object fieldInputMap = new UIDefaults.LazyInputMap(new Object[] {
"meta C", DefaultEditorKit.copyAction,
"meta V", DefaultEditorKit.pasteAction,
"meta X", DefaultEditorKit.cutAction,
"COPY", DefaultEditorKit.copyAction,
"PASTE", DefaultEditorKit.pasteAction,
"CUT", DefaultEditorKit.cutAction,
"shift LEFT", DefaultEditorKit.selectionBackwardAction,
"shift KP_LEFT", DefaultEditorKit.selectionBackwardAction,
"shift RIGHT", DefaultEditorKit.selectionForwardAction,
"shift KP_RIGHT", DefaultEditorKit.selectionForwardAction,
"alt LEFT", DefaultEditorKit.previousWordAction,
"alt KP_LEFT", DefaultEditorKit.previousWordAction,
"alt RIGHT", DefaultEditorKit.nextWordAction,
"alt KP_RIGHT", DefaultEditorKit.nextWordAction,
"alt shift LEFT", DefaultEditorKit.selectionPreviousWordAction,
"alt shift KP_LEFT", DefaultEditorKit.selectionPreviousWordAction,
"alt shift RIGHT", DefaultEditorKit.selectionNextWordAction,
"alt shift KP_RIGHT", DefaultEditorKit.selectionNextWordAction,
"meta A", DefaultEditorKit.selectAllAction,
"HOME", DefaultEditorKit.beginLineAction,
"meta LEFT", DefaultEditorKit.beginLineAction,
"END", DefaultEditorKit.endLineAction,
"meta RIGHT", DefaultEditorKit.endLineAction,
"shift HOME", DefaultEditorKit.selectionBeginLineAction,
"meta shift LEFT", DefaultEditorKit.selectionBeginLineAction,
"meta shift RIGHT", DefaultEditorKit.selectionEndLineAction,
"shift END", DefaultEditorKit.selectionEndLineAction,
"typed \010", DefaultEditorKit.deletePrevCharAction,
"DELETE", DefaultEditorKit.deleteNextCharAction,
// "alt DELETE", DefaultEditorKit.deleteNextWordAction,
// "alt BACKSPACE", DefaultEditorKit.deletePrevWordAction,
"RIGHT", DefaultEditorKit.forwardAction,
"LEFT", DefaultEditorKit.backwardAction,
"UP", DefaultEditorKit.beginAction,
"DOWN", DefaultEditorKit.endAction,
"shift UP", DefaultEditorKit.selectionBeginAction,
"shift DOWN", DefaultEditorKit.selectionEndAction,
"KP_RIGHT", DefaultEditorKit.forwardAction,
"KP_LEFT", DefaultEditorKit.backwardAction,
"ENTER", JTextField.notifyAction,
"meta shift A", "unselect"/*DefaultEditorKit.unselectAction*/,
"control shift O",
"toggle-componentOrientation"/*DefaultEditorKit.toggleComponentOrientation*/
});
UIManager.put("TextField.focusInputMap", fieldInputMap);
UIManager.put("TextArea.focusInputMap", fieldInputMap);
UIManager.put("TextPane.focusInputMap", fieldInputMap);
}
}