我已经将 ENTER 键添加到默认的 FocusTraversalKeys 中......
private void focus() {
Set forwardKeys = getFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS);
Set newForwardKeys = new java.util.HashSet(forwardKeys);
newForwardKeys.add(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0));
setFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, newForwardKeys);
}
我有一个使用焦点的产品信息表单,但是当涉及到保存按钮时,我想单击按钮而不是焦点转到下一个组件。
我在按钮上添加了一个 KeyPressed 和 KeyReleased 侦听器,然后尝试了这个......
private void saveButtonKeyPressed(java.awt.event.KeyEvent evt) {
if (evt.getKeyCode() == java.awt.event.KeyEvent.VK_ENTER) {
evt.consume();
saveButton.doClick();
}
}
同样的方法适用于我的文本区域但代码不执行 CLICK 而是将焦点放在下一个组件上,该组件也是一个按钮。
请提出一些可以帮助我达到所需结果的建议。在所用表格的图像下方找到。