如何为 JTextField 映射选项(Mac 键盘)的操作?
How can I map an action for option (Mac keyboard) up for a JTextField?
看起来只有 AWT(即添加密钥侦听器)才能捕获选项。有没有一种方法可以做到这一点而不必乱用 AWT?
Mac OS X UI 代表 JTextField
不绑定 alt↑ 到任何 Action
. You are free to bind the combination to any action you choose. As shown in How to Use Key Bindings,下面的示例将 alt↑ 绑定到为 [= 定义的现有 "caret-begin-line"
11=],将插入符号移动到行的开头。
final JTextField jtf = new JTextField("Test");
jtf.getInputMap().put(
KeyStroke.getKeyStroke(KeyEvent.VK_UP, KeyEvent.ALT_MASK),
"caret-begin-line");
可以找到更多示例 here. As shown in the key binding utility cited here,JTextField
按名称将以下 WHEN_FOCUSED
操作绑定到指定的键。
beep
caret-backward LEFT, KP_LEFT, ctrl B
caret-begin ctrl P, meta UP, meta KP_UP, HOME
caret-begin-line KP_UP, ctrl A, UP, meta KP_LEFT, meta LEFT
caret-begin-paragraph
caret-begin-word
caret-down
caret-end ctrl N, END, meta KP_DOWN, ctrl V, meta DOWN
caret-end-line DOWN, meta KP_RIGHT, ctrl E, meta RIGHT, KP_DOWN
caret-end-paragraph
caret-end-word
caret-forward RIGHT, ctrl F, KP_RIGHT
caret-next-word alt KP_RIGHT, alt RIGHT
caret-previous-word alt KP_LEFT, alt LEFT
caret-up
copy
copy-to-clipboard meta C, COPY
cut
cut-to-clipboard CUT, meta X
default-typed
delete-next DELETE, ctrl D
delete-next-word alt DELETE
delete-previous BACK_SPACE, ctrl H
delete-previous-word alt BACK_SPACE, ctrl W
dump-model
insert-break
insert-content
insert-tab
notify-field-accept ENTER
page-down
page-up
paste
paste-from-clipboard meta V, PASTE
requestFocus
select-all meta A
select-line
select-paragraph
select-word
selection-backward shift LEFT, shift KP_LEFT
selection-begin shift meta KP_UP, shift meta UP, shift HOME
selection-begin-line shift UP, shift meta KP_LEFT, shift KP_UP, shift meta LEFT
selection-begin-paragraph
selection-begin-word
selection-down
selection-end shift meta DOWN, shift meta KP_DOWN, shift END
selection-end-line shift meta KP_RIGHT, shift DOWN, shift KP_DOWN, shift meta RIGHT
selection-end-paragraph
selection-end-word
selection-forward shift KP_RIGHT, shift RIGHT
selection-next-word shift alt KP_RIGHT, shift alt RIGHT
selection-page-down shift PAGE_DOWN
selection-page-left shift meta PAGE_UP
selection-page-right shift meta PAGE_DOWN
selection-page-up shift PAGE_UP
selection-previous-word shift alt LEFT, shift alt KP_LEFT
selection-up
set-read-only
set-writable
toggle-componentOrientation shift ctrl O
unselect meta BACK_SLASH
看起来只有 AWT(即添加密钥侦听器)才能捕获选项。有没有一种方法可以做到这一点而不必乱用 AWT?
Mac OS X UI 代表 JTextField
不绑定 alt↑ 到任何 Action
. You are free to bind the combination to any action you choose. As shown in How to Use Key Bindings,下面的示例将 alt↑ 绑定到为 [= 定义的现有 "caret-begin-line"
11=],将插入符号移动到行的开头。
final JTextField jtf = new JTextField("Test");
jtf.getInputMap().put(
KeyStroke.getKeyStroke(KeyEvent.VK_UP, KeyEvent.ALT_MASK),
"caret-begin-line");
可以找到更多示例 here. As shown in the key binding utility cited here,JTextField
按名称将以下 WHEN_FOCUSED
操作绑定到指定的键。
beep caret-backward LEFT, KP_LEFT, ctrl B caret-begin ctrl P, meta UP, meta KP_UP, HOME caret-begin-line KP_UP, ctrl A, UP, meta KP_LEFT, meta LEFT caret-begin-paragraph caret-begin-word caret-down caret-end ctrl N, END, meta KP_DOWN, ctrl V, meta DOWN caret-end-line DOWN, meta KP_RIGHT, ctrl E, meta RIGHT, KP_DOWN caret-end-paragraph caret-end-word caret-forward RIGHT, ctrl F, KP_RIGHT caret-next-word alt KP_RIGHT, alt RIGHT caret-previous-word alt KP_LEFT, alt LEFT caret-up copy copy-to-clipboard meta C, COPY cut cut-to-clipboard CUT, meta X default-typed delete-next DELETE, ctrl D delete-next-word alt DELETE delete-previous BACK_SPACE, ctrl H delete-previous-word alt BACK_SPACE, ctrl W dump-model insert-break insert-content insert-tab notify-field-accept ENTER page-down page-up paste paste-from-clipboard meta V, PASTE requestFocus select-all meta A select-line select-paragraph select-word selection-backward shift LEFT, shift KP_LEFT selection-begin shift meta KP_UP, shift meta UP, shift HOME selection-begin-line shift UP, shift meta KP_LEFT, shift KP_UP, shift meta LEFT selection-begin-paragraph selection-begin-word selection-down selection-end shift meta DOWN, shift meta KP_DOWN, shift END selection-end-line shift meta KP_RIGHT, shift DOWN, shift KP_DOWN, shift meta RIGHT selection-end-paragraph selection-end-word selection-forward shift KP_RIGHT, shift RIGHT selection-next-word shift alt KP_RIGHT, shift alt RIGHT selection-page-down shift PAGE_DOWN selection-page-left shift meta PAGE_UP selection-page-right shift meta PAGE_DOWN selection-page-up shift PAGE_UP selection-previous-word shift alt LEFT, shift alt KP_LEFT selection-up set-read-only set-writable toggle-componentOrientation shift ctrl O unselect meta BACK_SLASH