gpt4 book ai didi

java - 是否可以使用 Enter 作为 Tab 而不继承 JTextField 或批量添加关键监听器?

转载 作者:行者123 更新时间:2023-12-01 19:25:44 25 4
gpt4 key购买 nike

我找到了关于 Java 中的 Enter-as-Tab 问题的多个页面和 SO 答案,但所有页面都建议重写 JTextField 的方法或向每个组件添加一个关键监听器。

但是还有别的办法吗?我不能覆盖 LookAndFeel 的某些内容或安装某些全局策略吗?

最佳答案

经过一些文档爬行后,我找到了一个解决方案:可以在 KeyboardFocusManager 而不是 JComponent 实例上设置焦点遍历键。

// 1. Get default keys
Set<AWTKeyStroke> ftk = new HashSet<AWTKeyStroke>(
KeyboardFocusManager.getCurrentKeyboardFocusManager()
.getDefaultFocusTraversalKeys(
KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS));

// 2. Add our key
ftk.add(KeyStroke.getKeyStroke("ENTER"));

// 3. Set new keys
KeyboardFocusManager.getCurrentKeyboardFocusManager()
.setDefaultFocusTraversalKeys(
KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, ftk);

这会将 enter 键添加到用于向前遍历的键列表中。 (向后遍历类似)

关于java - 是否可以使用 Enter 作为 Tab 而不继承 JTextField 或批量添加关键监听器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1187069/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com