如何动态地将按键分配给按钮?

发布于 2024-11-16 00:19:53 字数 290 浏览 3 评论 0原文

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

例如:

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

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

谢谢!

I have a section in my GUI that is generated dynamically according to a list of objects.
So, for each object in that list I want to create a JButton and associate a keyboard shortcut.

For example:

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

How do I make the code "setMnemonic(KeyEvent.VK_F1)" dynamic in an elegant way? Is there some way to get a range of keys automatically and then use it in this iteration?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

小糖芽 2024-11-23 00:19:53

操作非常适合于此。请参阅如何使用操作更多的。

An Action is well suited for this. See How to Use Actions for more.

万水千山粽是情ミ 2024-11-23 00:19:53
AbstractButton.setMnemonic(int)

只需迭代接受的整数范围即可。

AbstractButton.setMnemonic(int)

Just iterate through the range of accepted ints.

林空鹿饮溪 2024-11-23 00:19:53

创建一个包含您的键的数组

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)。

Either create an array containing your Keys with

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

or iterate over the range of the F1-F12 keys (112 - 123)

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

You do have to check if key is still in range (123 being F12), though.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文