天天看點

java 制作快捷鍵,Java快捷鍵制作

Java快捷鍵制作

用過VB的知道按下F5是運作窗體,用過Photoshop的知道按下Tab是隐藏所有面闆

,你的Java程式也想有這個功能麼?那麼希望這篇文章對您有所幫助。

子菜單類JMenuItem有一個方法不知道你注意過沒有:setAccelerator。

打開幫助檔案對這個方法的描述是: 設定組合鍵,它能直接調用菜單項的操作

偵聽器而不必顯示菜單的層次結構。是以用這個方法就能制作我們所要的快捷鍵

了。

幫助檔案告訴我們,傳給setAccelerator方法所要的是一個KeyStroke,下面來

說說這個類:

KeyStoke在Javax.swing包下,他的作用将我們要的鍵"捆"起來,再傳給上面所

說的setAccelerator之類的方法來使用,KeyStoke類提供了幾個"捆"鍵的靜态重

載方法,下面說幾個例子,你們自己去試試吧:

F5: KeyStroke.getKeyStroke(KeyEvent.F5, 0);

Ctrl+Q: KeyStroke.getKeyStroke(KeyEvent.VK_Q, InputEvent.CTRL_MASK);

a:KeyStroke. getKeyStroke('a');

Alt+Shift+C:getKeyStroke(KeyEvent.VK_C, InputEvent.ALT_MASK |

InputEvent.SHIFT_MASK, true);

當然,如果你不想引入一些如KeyEvent或InputEvent類的話,那麼你就可以用

KeyStroke.getKeyStroke(String s)方法來簡化他:

F5:KeyStroke.getKeyStroke("F5");

Ctrl+Q:KeyStroke.getKeyStroke("control Q ");

a:KeyStroke.getKeyStroke( "typed a" );

Alt+Shift+C:getKeyStroke("alt shift released X ");

如為子菜單"打開"(名為:meuOpen)加入快捷鍵Ctrl+O:

meuOpen.setAccelerator(KeyStroke.getKeyStroke("control O"));

上面說的是子菜單的快捷鍵設定,現在說下其它控件的快捷鍵設定:

把開幫助檔案,進入 javax.swing.AbstractButton ,你可以找到setMnemonic

(int mnemonic),這就是AbstractButton子類設定快捷鍵的方法了,如一個按鈕

btn,設定快捷鍵為:btn.setMnemonic (KeyEvent.A),則它的快捷方式為Alt+A

,它有一個修飾方法 setDisplayedMnemonicIndex (int index),作用是設定标

題的第幾個字元加個下劃線來辨別快捷鍵,如btn.setText

("Open");btn.setDisplayedMnemonicIndex(0),則btn的标題變為Open。

聰明的你們突類旁通吧,一定可以成功的。不過要注意以下幾點:

1、在使用KeyStroke的getKeyStroke(String s)方法時應該注意用法如Ctrl用

control表示,Alt用alt來表示,如果加上字母則要用大寫,但隻有一個鍵如a時

,應該用小寫:"type a"。

2、KeyStroke