Java 如何持续验证JTextField?
我有一个Java应用程序,它有一个带有4个文本字段和一个按钮的表单。我想知道是否有一种方法可以让程序使用Java 如何持续验证JTextField?,java,swing,Java,Swing,我有一个Java应用程序,它有一个带有4个文本字段和一个按钮的表单。我想知道是否有一种方法可以让程序使用.isEmpty()不断地检查字段,以查看是否有输入,一旦所有字段中都有输入,该按钮就可以单击?添加DocumentListener JButton button = new JButton("Button"); JTextField field = new JTextField(); field.getDocument().addDocumen
.isEmpty()
不断地检查字段,以查看是否有输入,一旦所有字段中都有输入,该按钮就可以单击?添加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);
}
}
});
添加一个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);
}
}
});
您可以实现一个
DocumentListener
,并检查文本字段是否为空。您的建议是使用轮询方法。您需要一种事件驱动的方法。您可以实现一个DocumentListener
,并检查您的文本字段是否为空。您的建议是使用轮询方法。您需要事件驱动的方法。因为String
s是对象,所以使用String::equals
而不是=
。或者更好地使用String::isEmpty
@flwn我正要说同样的话,我还没喝咖啡呢。感谢您指出这一点。有没有办法统一这些更新方法以更好地保持干燥?DocumentListener是一个接口,所以必须重写所有这些方法。我不太清楚你说的@AustinSchäfers是什么意思,因为String
s是使用String::equals
而不是=
的对象。或者更好地使用String::isEmpty
@flwn我正要说同样的话,我还没喝咖啡呢。感谢您指出这一点。有没有办法统一这些更新方法以更好地保持干燥?DocumentListener是一个接口,所以必须重写所有这些方法。我不太清楚你说的“奥斯汀舍弗”是什么意思