java - 一旦用户单击 Tab 键或单击另一个字段,我如何验证用户输入?

标签 java swing actionlistener jtextfield netbeans-8.1

我正在尝试使用 Netbeans 8.1 为 jTextField 创建一个 actionListener。 我做了以下操作:创建文本字段,然后右键单击 > 事件 > 操作 > ActionPerformed。
它为我构建了以下代码:

jTextField1.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
          jTextField1ActionPerformed(evt);
      }
});

private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {                                            
    // TODO add your handling code here:
   jTextField1.setText("Box1");
} 

但是没有效果!我曾尝试手动对其进行编码,但仍然无法正常工作。

仅供引用:CheckBox 和 Radio 按钮的 ActionListener - 在同一面板中 - 工作正常,但不是文本字段!

最佳答案

如果您想在点击选项卡或其他字段后进行检查,请使用焦点更改监听器。

jTextField1.addFocusListener(new java.awt.event.FocusAdapter() {
        public void focusGained(java.awt.event.FocusEvent evt) {
        }
        public void focusLost(java.awt.event.FocusEvent evt) {
          //this will be called on tab i.e when the field looses focus
              jTextField1FocusLost(evt);
        }
    });

private void jTextField1FocusLost(java.awt.event.FocusEvent evt) {                                    
    jTextField1.setText("Box1");
}

您也可以按照@MadProgrammer 的建议使用 InputVerifier

关于java - 一旦用户单击 Tab 键或单击另一个字段,我如何验证用户输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31900684/

相关文章:

java - 使用 Simple 将 HashMap 序列化为根元素

java - 从一个 Liferay 插件项目调用另一个 Liferay 插件项目

Javapoet 和泛型类声明

java - 如何在 JScrollPane 中显示项目列表?

java - 获取 Action 监听器中的系统时间

java - 为什么我的协程异步只能在 runBlocking 内工作?

java - 如何将 JTable 单元格输入标记为无效?

java - 将 ActionListener 添加到按钮

java - 从按钮打开新的 JFrame

java - JButton 按下(不释放)