2010-02-02 70 views
1

我注意到,在某些mac上,JMenuItem使用單詞「space」來指示空格鍵是鍵綁定。在其他Mac上使用一個符號(看起來像一個短的大寫U)。我更喜歡「空間」演示文稿,因爲它對用戶更加透明。有什麼方法可以重寫LAF如何以圖形方式表示加速鍵?覆蓋Java/Swing中JMenuItems中加速鍵的顯示外觀

回答

1

您可以繼承BasicMenuItemUI並覆蓋paintMenuItem()方法。 在那裏你可以繪製自己的加速器。我會愛一個動畫形象作爲加速器:)

注意如果你只是想改變mneonic或加速器,那麼你可以直接使用setAccelerator()或另一套方法。但我假定這是不是這樣的。)

+0

這聽起來不錯!我不需要繼承Aqua的特殊BasicMenuItemUI嗎? 我想我會放棄這個目標,因爲在Aqua和Mac JVM的發行版之間自己繪製菜單項可能不可移植。我會盡力模仿我電腦上的菜單項,然後在舊版/未來版或不同電腦上,菜單項會看起來不一樣,我的模仿會關閉。認爲這是一個有效的關注? – 2010-02-02 05:20:14

+1

1)是的,如果我的應用程序針對Windows,那麼我將不得不重寫WindowsMenuItemUI。 2)有可能。 – 2010-02-02 05:25:36