在HTML表单中,如果您在文本字段中按“输入”,表单通常会提交。
我正在Java Swing中实现一个搜索面板,我希望包含与用户期望的相同的功能。
我知道可以在JTextField上使用setAction来实现这一点,但我想知道是否有比在每个字段上设置操作更简单/更好的方法。我试过四处寻找,但似乎找不到我能找到的这个问题的标准解决方案!
编辑:有getRootPane()。setDefaultButton(...),但似乎只设置了框架的默认按钮。这对我来说不起作用,因为我使用的是标签式窗格,每个面板都有一个表格!
答案 0 :(得分:3)
您可能需要使用getRootPane().setDefaultButton(...)
收听制表符开关并重置当前标签的默认按钮。
答案 1 :(得分:1)
我们在其中一个应用程序中遇到了同样的问题。
您可以将键监听器添加到JTextField的编辑器中:
txtField.getEditor().getEditorComponent().addKeyListener(new java.awt.event.KeyAdapter()
{
@Override
public void keyTyped(final KeyEvent e)
{
super.keyTyped(e);
// Check if the user pressed Enter
if (e.getKeyChar() == '\n')
{
// Action here/button press here
}
}
});
答案 2 :(得分:1)