一連のJCheckBoxes(1-20)があり、それぞれがJTextField(1-20)に関連付けられています。チェックボックスをオンにするたびに、すべてのテキストフィールドを更新したいと思います。フィールドは、式100 /(チェックされているチェックボックスの合計)で更新されます。したがって、checkbox1がチェックされている場合、textfield1は100を表示します。checkbox15もチェックされている場合、textfield1とtextfield15は50を表示します。現在、checkbox1をチェックするとtextfield1は100を表示し、checkbox2をチェックすると50を表示しますが、textbox1は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));
}
}
助けてくれてありがとう!