代码之家  ›  专栏  ›  技术社区  ›  user7094

Java默认表单操作或按钮

  •  1
  • user7094  · 技术社区  · 16 年前

    在HTML表单中,如果在文本字段中按“回车”,表单通常会提交。

    我在Java Swing中实现了一个搜索面板,并且我想包含与我认为用户期望的一样的功能。

    我知道可以在jtextfield上使用setaction来实现这一点,但是我想知道是否有比在每个字段上设置setaction更容易/更好的方法。我试过四处看看,但似乎没有一个标准的解决方案,我可以找到这个问题!

    编辑 :有getrootpane().set default button(…),但似乎只为帧设置了默认按钮。这对我来说不起作用,因为我使用的是选项卡式窗格,每个面板上都有一个窗体!

    3 回复  |  直到 15 年前
        1
  •  1
  •   tddmonkey    16 年前

    IIRC,向jtextfield添加actionListener将提供您想要的功能

    稍后快速搜索…

    是的-这似乎是太阳推荐的方式,如 text field trail...

        2
  •  3
  •   Clint    16 年前

    您可能需要监听选项卡开关并使用重置当前选项卡的默认按钮 getRootPane().setDefaultButton(...) .

        3
  •  1
  •   thedude19    16 年前

    在我们的一个应用程序中,也存在同样的问题。

    可以将密钥侦听器添加到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
        }
      }
    });