我有一个带有多个 jtextfield 的摇摆应用程序。你如何替换回车键的功能,当你按下回车键时,它会像 tab 键一样转移到下一个焦点组件?我不想在每个 jtextfield 上放置一个 keylistener。
问问题
1726 次
2 回答
5
您正在寻找Container.setFocusTraversalKeys
:
Container root = ...
// pressed TAB, control pressed TAB
Set<AWTKeyStroke> defaultKeys = root.getFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS);
// since defaultKeys is unmodifiable
Set<AWTKeyStroke> newKeys = new HashSet<>(defaultKeys);
newKeys.add(KeyStroke.getKeyStroke("pressed ENTER"));
root.setFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, newKeys);
有关更多信息,请查看Focus Subsystem 教程。
于 2012-08-19T00:35:59.320 回答
2
您可以致电:
KeyboardFocusManager manager = KeyboardFocusManager.getCurrentKeyboardFocusManager();
manager.focusNextComponent();
但是您必须在所有 JTextField 中注册一个 ActionListener。
于 2012-08-19T00:35:02.423 回答