2017-07-19 39 views
0

我有一个具有4个文本字段和一个按钮的窗体的Java应用程序。我想知道是否有方法让程序经常使用.isEmpty()来检查字段是否已经有输入,并且一旦所有字段中都有输入,该按钮将变为可用于单击?如何不断验证JTextField?

+1

您可以实现一个'DocumentListener'并检查您的文本字段是否为空。 – Flown

+0

你在暗示的是使用轮询方法。你想要一个事件驱动的方法。 – Michael

回答

3

添加一个DocumentListener。

 JButton button = new JButton("Button"); 
     JTextField field = new JTextField(); 
     field.getDocument().addDocumentListener(new DocumentListener(){ 

      @Override 
      public void changedUpdate(DocumentEvent arg0) { 
       if(field.getText().isEmpty()){ 
        button.setEnabled(true); 
       } 
      } 

      @Override 
      public void insertUpdate(DocumentEvent arg0) { 
       if(field.getText().isEmpty()){ 
        button.setEnabled(true); 
       } 
      } 

      @Override 
      public void removeUpdate(DocumentEvent arg0) { 
       if(field.getText().isEmpty()){ 
        button.setEnabled(true); 
       } 
      } 

     }); 
+4

因为String是对象,所以使用String :: equals而不是== ==。或者更好的使用'String :: isEmpty'。 – Flown

+1

@Flown我正要说相同的 – Shirkam

+0

Derp,还没有喝过我的咖啡。感谢您指出了这一点。 – DCON