如何捕获Enter键并将事件更改为Java中的Tab

Joh*_*ohn 2 java swing keylistener

我有一个带有多个jtextfield的swing应用程序.如何替换回车键的功能,当按下回车键时,它将像标签键一样转移到下一个可聚焦组件?我不想在每个jtextfield上放置一个keylistener.

Jef*_*rey 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);
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请查看Focus Subsystem教程.