我正在开发一个复杂的桌面应用程序,其中包含多个用于工作流程的选项卡式窗格,每个窗口都包含不同的按钮,标签和其他UI元素。它们中的每一个都需要一个助记符定义,并且由于字母用完而无法定义。
我注意到在Windows上,如果为两个控件定义了相同的助记符,则按下它将在它们之间循环,并在释放键时激活它们。使用Swing,如果您使用相同的键定义其中两个,则助记符将不会激活。
有解决方法吗?
答案 0 :(得分:1)
我的建议是使用KeyListener
,然后根据显示的标签区分操作。
<强>伪代码强>:
public void keyPressed(KeyEvent e){
//assuming 'O' activates Open button on two different tabs
if(key == 'O'){
if(activeTab == tab1)
doStuff1();
else if(activeTab == tab2)
doStuff2();
}
}
您可以找到一种方法使其在实际代码中运行。