簡體   English   中英

資源文件中的Java菜單助記符

[英]Java Menu Mnemonics in Resource Files

我想使用資源包(或ResourceMap )為JMenu分配一個助記符。 因此,例如,沒有資源文件的代碼將是......

JMenu fileMenu = new JMenu();
fileMenu.setText("File");   // this would be read from a resource file
fileMenu.setMnemonic('F');  // but the docs say this is obsolete
fileMenu.setMnemonic(KeyEvent.VK_F);

那么如何將KeyEvent.VK_F放入資源文件中?

對於JMenuItem我可以用動作來做,但這是JMenu

Java的javax.swing.KeyStroke類填補了這個空白:

JMenu fileMenu = new JMenu();
String mnemonic = // string from localization
fileMenu.setMnemonic(KeyStroke.getKeyStroke(mnemonic).getKeyCode());

JMenu不支持加速器,僅適用於JMenuItem (這是有道理的,因為它們在不使用菜單的情況下調用動作)。

在資源文件中使用加速器

add.Action.accelerator = control A.

您可以以類似的方式執行此操作,並將“FileMenu”視為(假)操作嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM