Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在开发一个复杂的桌面应用程序,该应用程序具有多个用于工作流的选项卡式窗格,每个窗格都塞满了不同的按钮、标签和其他 UI 元素。它们中的每一个都需要定义一个助记符,而这些通常会因为要定义的字母用完而发生冲突。
我注意到在 Windows 上,如果为两个控件定义了相同的助记符,那么按下它会在它们之间循环,并且它们会在释放键时激活。使用 Swing,如果您使用相同的键定义其中的 2 个,助记符根本不会激活。
有解决方法吗?
我的建议是使用 aKeyListener然后根据显示的选项卡区分操作。
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(); } }
您可以找到一种使其在真实代码中工作的方法。