我有一系列 JCheckBoxes(1-20),每个都与一个 JTextField(1-20) 相关联。我希望每次选中一个框时都更新所有文本字段。这些字段将使用公式 100/(选中的复选框的总和)进行更新。因此,如果选中 checkbox1,则 textfield1 显示 100。如果还选中 checkbox15,则 textfield1 和 textfield15 显示 50。现在,当我选中 checkbox1 时,textfield1 显示 100,当我选中 checkbox2 时,显示 50,但 textbox1 保持在 100,而不是更新为50. 如何使所有文本字段同时更新?
es1-es20 是我的文本字段 p1 是我从中获得 100 的文本字段。evensplit 是我的 20 个文本字段的数组。
此外,除非我为每个文本字段声明我的数组,否则它确实有效。我应该在哪里声明我的数组,以便每个 actionevent 都可以访问它?
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));
}
}
提前感谢您的帮助!