給乙個窗體增加快捷鍵

2021-06-15 22:16:34 字數 887 閱讀 3655

我們在使用乙個應用程式的時候,如果熟練運用一些快捷鍵的話,會大大增加效率,那麼使用swing程式設計該如何新增快捷鍵呢?下面就讓我們來實現他。

首先來看一下可能遇到哪些問題。一般來講,快捷鍵一定是要被繫結到某乙個元件上面的,並且在這個元件擁有焦點的時候快捷鍵才有效。這就遇到問題了,並沒有哪乙個元件能夠長期擁有焦點,焦點是經常變化的,難道快捷鍵也會隨著元件失去焦點而失效嗎?swing的設計者考慮到了這個問題,他們放寬了快捷鍵有效的範圍:本元件擁有焦點,快捷鍵有效;本元件內部包含的其他元件擁有焦點,快捷鍵有效;與本元件處於並列關係的其他元件(即幾個元件位於同乙個容器中)擁有焦點,快捷鍵有效。

但是,swing並沒有把快捷鍵和實際的動作直接對映起來,他採用的是間接對映的方式:把keystroke和某個key對映一下(稱之為inputmap),再把key和某個action對映一下(稱之為actionmap),從而實現keystroke與action的間接對映。這樣,對於任何乙個元件都維護者4個對映表:三個inputmap分別對應這3個有效範圍,外加1個actionmap。因此,我們給系統新增快捷鍵的一般步驟是:選擇乙個合適範圍的inputmap,新增(key-keystroke)對映;再在actionmap中新增(key-action)對映。**如下:

class

buttonclickpanel 

extends

jpanel 

...class

myaction 

extends

abstractaction 

...@override

public

void

actionperformed(actionevent e) 

...private

color co;

這樣就將f2定義為使背景色變紅的快捷鍵。

VC程式設計增加快捷鍵的幾種方式

對於這個問題,大家應該都不陌生,寫於此只是進行了歸納總結,算是乙個備忘吧 定義快捷方式有下面幾種方法 1.對於選單 menu 或者按鈕 button 直接在選單或按鈕的標題中,包含 x即可,這裡x是任意字元鍵 示例 tool選單項的標題可以寫作 tool 或者 工具 t 這樣就可以直接用alt t直...

VC程式設計增加快捷鍵的幾種方式

對於這個問題,大家應該都不陌生,寫於此只是進行了歸納總結,算是乙個備忘吧 定義快捷方式有下面幾種方法 1.對於選單 menu 或者按鈕 button 直接在選單或按鈕的標題中,包含 x即可,這裡x是任意字元鍵 示例 tool選單項的標題可以寫作 tool 或者 工具 t 這樣就可以直接用alt t直...

VC程式設計增加快捷鍵的幾種方式

對於這個問題,大家應該都不陌生,寫於此只是進行了歸納總結,算是乙個備忘吧 定義快捷方式有下面幾種方法 1.對於選單 menu 或者按鈕 button 直接在選單或按鈕的標題中,包含 x即可,這裡x是任意字元鍵 示例 tool選單項的標題可以寫作 tool 或者 工具 t 這樣就可以直接用alt t直...