5

我的 GUI 中有一个部分是根据对象列表动态生成的。因此,对于该列表中的每个对象,我想创建一个 JButton 并关联一个键盘快捷键。

例如:

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

如何以优雅的方式使代码“setMnemonic(KeyEvent.VK_F1)”动态化?是否有某种方法可以自动获取一系列键,然后在此迭代中使用它?

谢谢!

4

3 回答 3

4

AnAction非常适合这种情况。有关更多信息,请参阅如何使用操作

于 2011-06-17T19:28:29.980 回答
2
AbstractButton.setMnemonic(int)

只需遍历接受的整数范围即可。

于 2011-06-17T18:28:34.597 回答
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)。

于 2011-06-17T19:01:01.180 回答