我的GUI中有一个部分是根据对象列表动态生成的。 因此,对于该列表中的每个对象,我想创建一个JButton并关联一个键盘快捷键。
例如:
for (String tag : testTags) {
new JButton(tag).setMnemonic(KeyEvent.VK_F1);
}
如何以优雅的方式使代码“setMnemonic(KeyEvent.VK_F1)”动态化?有没有办法自动获取一系列键,然后在此迭代中使用它?
谢谢!
答案 0 :(得分:4)
Action
非常适合这种情况。有关详情,请参阅How to Use Actions。
答案 1 :(得分:2)
AbstractButton.setMnemonic(int)
只需迭代已接受的整数范围。
答案 2 :(得分: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)。