<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    HelloWorld 善戰(zhàn)者,求之于勢,不責(zé)于人;故能擇人而任勢。

    知止而后有定,定而后能靜,靜而后能安,安而后能慮,慮而后能得。物有本末,事有終始。知所先后,則近道矣。

      BlogJava :: 首頁 ::  :: 聯(lián)系 ::  :: 管理 ::
      167 隨筆 :: 1 文章 :: 40 評論 :: 0 Trackbacks

    Java快捷鍵制作

    用過VB的知道按下F5是運(yùn)行窗體,用過Photoshop的知道按下Tab是隱藏所有面板,你的Java程序也想有這個功能么?那么希望這篇文章對您有所幫助。

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

    打開幫助文件對這個方法的描述是: 設(shè)置組合鍵,它能直接調(diào)用菜單項(xiàng)的操作偵聽器而不必顯示菜單的層次結(jié)構(gòu)。所以用這個方法就能制作我們所要的快捷鍵了。

    幫助文件告訴我們,傳給setAccelerator方法所要的是一個KeyStroke,下面來說說這個類:

    KeyStoke在Javax.swing包下,他的作用將我們要的鍵"捆"起來,再傳給上面所說的setAccelerator之類的方法來使用,KeyStoke類提供了幾個"捆"鍵的靜態(tài)重載方法,下面說幾個例子,你們自己去試試吧:

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

    當(dāng)然,如果你不想引入一些如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"));

    上面說的是子菜單的快捷鍵設(shè)置,現(xiàn)在說下其它控件的快捷鍵設(shè)置:

    把開幫助文件,進(jìn)入 javax.swing.AbstractButton ,你可以找到setMnemonic (int mnemonic),這就是AbstractButton子類設(shè)置快捷鍵的方法了,如一個按鈕btn,設(shè)置快捷鍵為:btn.setMnemonic (KeyEvent.A),則它的快捷方式為Alt+A,它有一個修飾方法  setDisplayedMnemonicIndex (int index),作用是設(shè)置標(biāo)題的第幾個字符加個下劃線來標(biāo)識快捷鍵,如btn.setText("Open");btn.setDisplayedMnemonicIndex(0),則btn的標(biāo)題變?yōu)?span style="text-decoration: underline">Open。

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

    1、在使用KeyStroke的getKeyStroke(String s)方法時應(yīng)該注意用法如Ctrl用control表示,Alt用alt來表示,如果加上字母則要用大寫,但只有一個鍵如a時,應(yīng)該用小寫:"type a"。

    2、KeyStroke的getKeyStroke(String s)方法是方便,但如果使用不合法的語法是達(dá)不到目的的,這時你可以試試KeyStroke的其它靜態(tài)方法。

    3、AbstractButton的子類的快捷鍵用setMnemonic方法來設(shè)置只能有Alt+指定的鍵。



    </script>

    posted on 2008-03-07 13:38 helloworld2008 閱讀(1097) 評論(1)  編輯  收藏 所屬分類: java

    評論

    # re: Java快捷鍵制作(轉(zhuǎn) http://www.17zixue8.com/htm/biancheng/java/JavaSkill/0001.htm ) 2010-12-26 12:31 KLF HIJ
    BU JASF

      回復(fù)  更多評論
      

    主站蜘蛛池模板: 国产精品免费视频观看拍拍 | 亚洲av永久无码一区二区三区| 永久免费视频v片www| 羞羞视频在线免费观看| 亚洲第一AAAAA片| 成人片黄网站A毛片免费| 一级人做人爰a全过程免费视频| 亚洲爱情岛论坛永久| 国产小视频免费观看| 日韩电影免费在线观看| 亚洲精品国产高清在线观看| 亚洲无线码一区二区三区| 最新仑乱免费视频| 中国黄色免费网站| 亚洲AV成人一区二区三区在线看| 亚洲综合亚洲综合网成人| 人禽杂交18禁网站免费| 国产成人精品免费视频大全| 亚洲国产成a人v在线观看| 中文字幕亚洲无线码| 免费黄色毛片视频| 3344免费播放观看视频| 国产高潮流白浆喷水免费A片 | 亚洲国产日韩视频观看| 亚洲国产精品不卡在线电影| 免费国产a国产片高清| 国产成人免费网站| 久久这里只精品热免费99| 成在线人直播免费视频| 中文文字幕文字幕亚洲色| 亚洲一区二区中文| 亚洲中文字幕久久精品无码APP| 啦啦啦在线免费视频| 精品国产sm捆绑最大网免费站| 国产一级片免费看| 一级黄色免费网站| 国产青草亚洲香蕉精品久久| 亚洲sss综合天堂久久久| 久久精品国产精品亚洲毛片| 亚洲成AV人片天堂网无码| 国产gv天堂亚洲国产gv刚刚碰 |