JLabel键盘替代品

时间:2014-09-24 03:50:01

标签: java swing jlabel

JLabel API documentation的第一段陈述:

“标签不会对输入事件做出反应。因此,它无法获得键盘焦点。但是,标签可以显示键盘替代方案,以方便附近有键盘选择的组件但无法显示它。“

我很确定我理解无法获得键盘事件焦点的概念。我不确定的是它的意思是“标签可以显示键盘替代方案,以方便附近有键盘替代但不能显示它的组件。”

什么是键盘替代?为什么附近的组件无法显示?标签如何显示附近组件的键盘替换?

2 个答案:

答案 0 :(得分:2)

这意味着,通过JLabel#setDisplayedMnemonicJLabel#setLabelFor的组合,您可以将标签配置为向用户显示激活时的快捷键,并将焦点转移到关联的组件。 / p>

助记符是标签文本中的单个字符,当按下激活键时(Windows上的 Alt ),将允许用户将焦点转移到相关字段。 / p>

例如,如果您的标签包含文字First name:,则可以将mnemonic设置为F,这样就可以让用户按 Alt + F 以关注相关字段。

在Windows下,当您按住 Alt 键时,它将在助记符字符下显示下划线字符。因此,Look and Feels将始终显示此下划线,有些可能会以其他方式突出显示事实

答案 1 :(得分:1)

  

标签如何显示附近组件的键盘替换?

假设您有一个标签“First Name”,后跟一个文本字段。您可以使用:

JTextField textField = new JTextField(10);
JLabel label = new JLabel("First Name");
label.setLabelFor( textField );
label.setDisplayedMnemonic(KeyEvent.VK_F);

现在,当用户使用Alt-F时,焦点将放在相关的文本字段上。

相关问题