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

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

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

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

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

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

    Java快捷鍵制作

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

    子菜單類(lèi)JMenuItem有一個(gè)方法不知道你注意過(guò)沒(méi)有:setAccelerator。

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

    幫助文件告訴我們,傳給setAccelerator方法所要的是一個(gè)KeyStroke,下面來(lái)說(shuō)說(shuō)這個(gè)類(lèi):

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

    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類(lèi)的話(huà),那么你就可以用KeyStroke.getKeyStroke(String s)方法來(lái)簡(jiǎn)化他:

    F5:KeyStroke.getKeyStroke("F5");

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

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

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

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

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

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

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

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

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

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

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



    </script>

    posted on 2008-03-07 13:38 helloworld2008 閱讀(1098) 評(píng)論(1)  編輯  收藏 所屬分類(lèi): java

    評(píng)論

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

      回復(fù)  更多評(píng)論
      

    主站蜘蛛池模板: 九九免费精品视频在这里| 亚洲电影免费在线观看| 亚洲永久无码3D动漫一区| a毛看片免费观看视频| 亚洲成A∨人片在线观看无码| 西西大胆无码视频免费| 瑟瑟网站免费网站入口| 亚洲天天做日日做天天看| 成人黄动漫画免费网站视频| 在线播放免费人成视频网站| 18亚洲男同志videos网站| 成人永久免费高清| 国产成人免费AV在线播放| 男人天堂2018亚洲男人天堂| 久久久久亚洲精品男人的天堂 | 最近的中文字幕大全免费8| 亚洲AV无码资源在线观看| 国产亚洲一区二区精品| 性做久久久久免费看| 久久免费高清视频| 日韩亚洲翔田千里在线| 久久久亚洲欧洲日产国码aⅴ| xvideos亚洲永久网址| 国产精品视频免费| A国产一区二区免费入口| 亚洲色欲啪啪久久WWW综合网| 日本亚洲视频在线| 在线免费观看国产视频| 在线美女免费观看网站h| 国产久爱免费精品视频| 亚洲欧美日韩中文字幕一区二区三区| 亚洲成a人片在线观看无码专区| 精品国产免费观看| 成人免费的性色视频| 久久久久成人片免费观看蜜芽| 麻豆va在线精品免费播放| 男人天堂2018亚洲男人天堂| 亚洲天堂一区二区| 亚洲国产精品成人精品无码区| 亚洲午夜国产片在线观看| 成人免费在线观看网站|