【问题标题】:Conflicting mnemonics in Java SwingJava Swing 中的冲突助记符
【发布时间】:2012-08-01 07:47:29
【问题描述】:

我正在开发一个复杂的桌面应用程序,该应用程序具有多个用于工作流的选项卡式窗格,每个窗格都塞满了不同的按钮、标签和其他 UI 元素。它们中的每一个都需要定义一个助记符,而这些通常会因为要定义的字母用完而发生冲突。

我注意到在 Windows 上,如果为两个控件定义了相同的助记符,那么按下它会在它们之间循环,并在释放键时激活它们。使用 Swing,如果您使用相同的键定义其中 2 个助记符,则助记符根本不会激活。

有解决办法吗?

【问题讨论】:

标签: java swing mnemonics


【解决方案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();
    }
}

您可以找到一种方法使其在实际代码中工作。

【讨论】:

    猜你喜欢
    • 2011-05-25
    • 1970-01-01
    • 1970-01-01
    • 2014-06-20
    • 1970-01-01
    • 2012-03-22
    • 2012-10-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多