java - 每次用 java 检查一个框时更新所有 TextFields

标签 java arrays swing counting jcheckbox

我有一系列 JCheckBox(1-20),每个 JCheckBox 都与一个 JTextField(1-20) 关联。我希望每次选中一个框时都更新所有文本字段。这些字段将使用公式 100/(选中的复选框的总和)进行更新。因此,如果选中 checkbox1,则 textfield1 显示 100。如果还选中 checkbox15,则 textfield1 和 textfield15 显示 50。现在,当我选中 checkbox1 时,textfield1 显示 100,当我选中 checkbox2 时,textfield1 显示 50,但 textbox1 保持为 100,而不是也更新为50. 如何使所有文本字段同时更新?

es1-es20 是我的文本字段 p1 是我从中获取 100 的文本字段。 Evensplit 是我的 20 个文本字段的数组。

此外,除非我为每个文本字段分别声明我的数组,否则它确实有效。我该去哪里 声明我的数组以便每个 Action 事件都可以访问它?

private void es1ActionPerformed(java.awt.event.ActionEvent evt) {
    JCheckBox evensplit[] = new JCheckBox[24];
    evensplit[0] = es1;
    evensplit[1] = es2;
    ...24 times

    int checknums = 0;

    for(int c = 0;c< evensplit.length; c++) {
        if(evensplit[c].isSelected()) {
            checknums++;
            double even = 100/checknums;
            p1.setText(String.valueOf(even));
        }
    }
}

private void es2ActionPerformed(java.awt.event.ActionEvent evt) {
    JCheckBox evensplit[] = new JCheckBox[24];
    evensplit[0] = es1;
    evensplit[1] = es2;
    ...24 times

    int checknums = 0;

    for(int c = 0;c< evensplit.length; c++) {
        if(evensplit[c].isSelected()) {
            checknums++;
            double even = 100/checknums;
            p2.setText(String.valueOf(even));
        }
    }

预先感谢您的帮助!

最佳答案

关于java - 每次用 java 检查一个框时更新所有 TextFields,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10467365/

相关文章:

java - 如何在Android中不使用ListView/RecyclerView/CardView等来显示已安装的应用程序?

javascript - 在javascript中创建一个 parent child 的数组

c - 如何在 C 中将文本文件中的字符串存储在数组中

java - 如何将指定字符串的大小设置为JTextField?

java - 有没有办法将对象添加到 JComboBox 并分配一个要显示的字符串?

java - 如何在Java中使透明图像变得不透明?

java - 如何在旧的 Android API 上强制执行操作栏设置图标

java - 如何将平均值放入 arrayList 中,以及如何将输入文件中的分数放入自己的 arrayList 中?

C 数组指针数学。按索引访问内存冲突

java - MigLayout:如何*垂直*对齐扩展坞内的多个组件?