我正在开发一个复杂的桌面应用程序,它有多个选项卡窗格,每个面板都塞满了不同的按钮、标签和其他UI元素。它们中的每一个都需要一个助记符的定义,而这些往往由于没有字母来定义而陷入冲突。
我注意到,在Windows上,如果为两个控件定义了相同的助记符,那么按下它就会在它们之间循环,它们在释放密钥时就会激活。使用Swing,如果使用相同的键定义其中的两个,则助记符就不会激活。
有办法解决这个问题吗?
发布于 2012-10-03 21:26:39
我的建议是使用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();
}
}
您可以找到一种方法让它在真正的代码中工作。
https://stackoverflow.com/questions/11754773
复制相似问题