【问题标题】:Clear Swing Component values清除 Swing 组件值
【发布时间】:2012-08-05 13:30:51
【问题描述】:

是否有清除 Swing 组件值的方法。例如,如果我们每次想要清除 JTextField 时都使用它,我必须调用 - txtField.setText("")。我曾经为这些类型的情况做了一个实用方法-

public static void clearFields(JComponent[] components) {
        for (int i = 0; i < components.length; i++) {
            JTextComponent jComponent = (JTextComponent) components[i];
            jComponent.setText("");
        }
    }

我想知道 Swing API 本身是否有更好的方法。或者是否有办法刷新 JPanel 中的所有值。

【问题讨论】:

    标签: java swing jtextfield jtextcomponent


    【解决方案1】:

    有两种方法

    1. 你的方式没有问题,但我建议测试if (c instanceof JTextField) {,然后你可以在一个循环中为不同的JComponents(或它们的组)重新设置(也不同)值

    2. 将所需的JComponents 放入某种类型的arraymap

    3. 1234563事件...

    【讨论】:

      【解决方案2】:

      不,这是正确的做法,我不认为以这种方式清除它们的不利之处。

      我正在考虑的唯一替代方法是通过实例化新的 UI 组件并重新布局它们来重新创建 GUI,但这似乎有点矫枉过正,而且还会让您失去对旧组件的所有引用。

      【讨论】:

        猜你喜欢
        • 2011-10-28
        • 2017-05-06
        • 1970-01-01
        • 2021-02-06
        • 2022-01-10
        • 1970-01-01
        • 1970-01-01
        • 2012-08-21
        • 2010-10-25
        相关资源
        最近更新 更多