2009-02-06 25 views
8

Tôi muốn gán một bản ghi nhớ cho một JMenu bằng cách sử dụng các gói tài nguyên (hoặc ResourceMap). Ví dụ: mã không có tệp tài nguyên sẽ là ...Java Menu Mnemonics trong Tập tin Tài nguyên

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); 

Vậy làm cách nào để đưa KeyEvent.VK_F vào tệp tài nguyên?

Đối với JMenuItem Tôi có thể thực hiện hành động, nhưng đây là JMenu.

Trả lời

11

Java của cầu khoảng cách:

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

Accelerators không được hỗ trợ cho JMenu s chỉ, cho JMenuItem s (có ý nghĩa, vì chúng gọi một hành động mà không cần sử dụng trình đơn).

0

Bạn có thể làm điều đó theo cách tương tự và xử lý "FileMenu" dưới dạng hành động (giả)?

Các vấn đề liên quan