Rex*_*Rex 5 java swing mnemonics
我正在开发一个复杂的桌面应用程序,其中包含多个用于工作流的选项卡式窗格,每个窗格都塞满了不同的按钮、标签和其他 UI 元素。它们中的每一个都需要一个定义的助记符,而这些经常因为用完要定义的字母而发生冲突。
我注意到在 Windows 上,如果为两个控件定义了相同的助记符,则按下它会在它们之间循环,并在释放键时激活它们。使用 Swing,如果您使用相同的键定义其中的 2 个,助记符将不会激活。
有解决方法吗?
我的建议是使用 a 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();
}
}
Run Code Online (Sandbox Code Playgroud)
您可以找到一种方法使其在实际代码中工作。