Имам поредица от JCheckBoxes(1-20) и всеки е свързан с JTextField(1-20). Бих искал всички текстови полета да се актуализират всеки път, когато има отметка в квадратче. Полетата трябва да се актуализират с формулата 100/(сума от квадратчетата, които са отметнати). Така че, ако отметка1 е отметната, текстово поле1 показва 100. Ако отметка15 също е отметнато, текстово поле1 и текстово поле15 показват 50. Точно сега, когато отметна отметка1, текстово поле1 показва 100, а когато отметна отметка2 показва 50, но текстово поле1 остава на 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));
}
}
Благодаря предварително за всяка помощ!