2011-06-17 101 views
5

我在我的GUI中有一個根據對象列表動態生成的部分。 因此,對於該列表中的每個對象,我想創建一個JButton並關聯一個鍵盤快捷鍵。如何動態地將按鍵分配給按鈕?

例如:

for (String tag : testTags) { 
    new JButton(tag).setMnemonic(KeyEvent.VK_F1); 
} 

如何使代碼 「setMnemonic來(KeyEvent.VK_F1)」 動態以優雅的方式?有什麼方法可以自動獲取一系列鍵,然後在此迭代中使用它?

謝謝!

回答

4

Action非常適合這個。有關更多信息,請參閱How to Use Actions

+3

從長遠來看,這是最好的方式。 – vehk

+0

哦,很好。我其實並不知道行動。這似乎解決了我的問題!謝謝! – ktulinho

2
AbstractButton.setMnemonic(int) 

只是遍歷可接受的整數的範圍。

+1

類似於: 'int key = 112; new JButton(tag).setMnemonic(key ++)'? – ktulinho

+0

沿着這些線,是的 –

2

要麼創建包含密鑰的陣列與

int[] keys = {KeyEvent.VK_F1,KeyEvent.VK_F2,[...]}; 

或遍歷F1-F12鍵的範圍(112 - 123)

int key = KeyEvent.VK_F1; 
for (String s : strings) { 
    new JButton(s).setMnemonic(key++); 
} 

你必須檢查鍵儘管如此,仍然在範圍內(123爲F12)。

相關問題