java - 如何检查所有 JTexFields 是否为空?

标签 java swing jtextfield is-empty

我正在使用 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/

相关文章:

java - 在 JTextFields 中从法语切换为阿拉伯语

java - 如何从 JTextPane 中删除组件

Java JTextField 长度和过滤器

java - 垃圾回收期间什么时候调用 finalize()?

java - 如何使用 JMX 客户端列出所有 MBean

java - 盒子里的数组输出

java - JTree 数据未从数据库加载(MySQL)

java - 如何限制 JTextField 仅接受小于 10 的数字?

java - Inno Setup 和 Launch4j 之间的区别

java - 如何整体导出依赖项?