我正在使用 for 循环 创建 9 JTextFields 这工作正常。我的问题是,我想检查所有这些 JTextField 一次是否为空。我知道有一种方法,例如:
if (textbox.getText().trim().equals(""))
检查 JTextField 是否为空,但我不确定它是否适合我用于 的方法JTextField .下面是我的 for 循环:
for (int index = 1; index <=9; index++)
{
JTextField field = new JTextField(3);
field.setPreferredSize(new Dimension(150, 50));
field.setHorizontalAlignment(JTextField.CENTER);
field.setEditable(false);
second.add(field);
second.add(Box.createHorizontalStrut(10));
second.add(Box.createVerticalStrut(10));
}
最佳答案
将您的文本字段存储在一个列表中,以便您以后可以对其进行迭代。
public class ClassContainingTextFields {
private final ArrayList<JTextField> textFields = new ArrayList<>();
// ... inside the method that creates the fields ...
for (int i = 0; i < 9; i++) {
JTextField field = new JTextField(3);
// .. do other setup
textFields.add(field);
}
/**
* This method returns true if and only if all the text fields are empty
**/
public boolean allFieldsEmpty() {
for (JTextField textbox : textFields) {
if (! textbox.getText().trim().isEmpty() ) {
return false; // one field is non-empty, so we can stop immediately
}
}
return true; // every field was empty (or else we'd have stopped earlier)
}
// ....
}
关于java - 如何检查所有 JTexFields 是否为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16877625/