【问题标题】:override display appearance of accelerator keys in JMenuItems in Java/Swing覆盖 Java/Swing 中 JMenuItems 中加速键的显示外观
【发布时间】:2010-02-02 01:35:26
【问题描述】:

我注意到,在某些 Mac 上,JMenuItem 使用“空格”一词来表示空格键是键绑定。在其他 mac 上,使用了一个符号(看起来像一个短大写 U)。我更喜欢“空间”演示,因为它对用户更透明。有没有办法覆盖 LAF 以图形方式表示加速键的方式?

【问题讨论】:

    标签: java swing menuitem key-bindings


    【解决方案1】:

    您可以继承 BasicMenuItemUI 并覆盖 paintMenuItem() 方法。 在那里你可以画出你自己的加速器。我喜欢动画图像作为加速器:)

    注意如果你只是想改变助记词或加速器,那么你可以直接使用setAccelerator()或其他设置方法。但我假设不是这样。)

    【讨论】:

    • 这听起来不错!我不需要继承 Aqua 的特殊 BasicMenuItemUI 吗?我想我会放弃这个目标,因为我自己绘制菜单项可能无法在 Aqua 和 Mac JVM 版本之间移植。我会尽力在我的计算机上模仿菜单项的外观,然后在旧版本/未来版本或不同的计算机中,菜单项看起来会有所不同,而我的模仿将不复存在。你认为这是一个合理的担忧吗?
    • 1) 是的,如果我的应用程序面向 Windows,那么我将不得不覆盖 WindowsMenuItemUI。 2) 有可能。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多