2011-06-17 66 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)。

相关问题