java密钥绑定与setMnemonic、setDisplayedMnemonic和setLabelFor的比较
我感觉自己就像一个糖果店的孩子——在再次尝试处理键绑定时,我偶然发现了setMnemonic()
(在Netbeans表单设计器及其生成的大量代码中)和[尤其是!]setDisplayedMnemonic()
/setActionFor()
对(来自谷歌搜索“can jlabel have memmonic”),这似乎是天赐之物
我只知道下面的代码让我的最新应用程序更加人性化,因为它不需要鼠标/触摸板
btnRemoveScratchWords.setMnemonic(VK_C);
btnSearch.setMnemonic(VK_H);
btnClearOutput.setMnemonic(VK_O);
btnExit.setMnemonic(VK_X);
btnHelp.setMnemonic(VK_H);
lblPattern.setDisplayedMnemonic(VK_P);
lblPattern.setLabelFor(txtPattern);
lblLegal.setDisplayedMnemonic(VK_L);
lblLegal.setLabelFor(txtLegal);
lblMust.setDisplayedMnemonic(VK_R);
lblMust.setLabelFor(txtRequiredLetters);
lblMinimumPointsPerLetter.setDisplayedMnemonic(VK_R);
lblMinimumPointsPerLetter.setLabelFor(txtMinScore);
但是,键绑定是一种更好的方法吗
# 1 楼答案
我要回答我自己的问题。如果我犯了任何错误,或被曲解或误解,我希望能从别人那里找到答案。提前提问:我把下面的事情搞砸了吗
键绑定提供了执行某些操作的唯一方法。例如
我需要一个键来显示文本区域的底线,不管哪个组件有焦点,然后选择“main”文本框的内容
下面的语句将物理F2按键链接到窗体上的逻辑按钮 动作将在一个类(名为
JumpToEndOfOutput
)中定义,该类根据getActionMap
的要求扩展AbstractAction
(注意
WHEN_IN_FOCUSED_WINDOW
的用法,没有它,F2不能总是做需要的事情):有没有更短的方法来实现这一点