基本的には、 'btnCalculate'ボタンをクリックしたときに 'lblIndividualScore'のテキストを変更したいのですが、クリックするとラベルは変更されません。私はそれの直後にprintlnを置いて、すべてが正しく計算されていることを知っています...それは変わらないでしょう。ボタンのクリック後にJLabelが変更されない
以下のコード部分は、任意のアイデアですか?ここで
はアクションリスナーである
else if (e.getSource() == btnCalculate) {
setClassification();
setTargetOrLight();
setProneTotal();
setStandingTotal();
setKneelingTotal();
setIndividualTotal();
}
ここ
は、上述のようにアクションリスナーが
public void setClassification() {
classification = (String)cmbClassification.getSelectedItem();
if (classification.equals("Senior") && target) {
txtProne2.setEditable(true);
txtKneeling2.setEditable(true);
txtStanding2.setEditable(true);
txtProne2.setVisible(true);
txtKneeling2.setVisible(true);
txtStanding2.setVisible(true);
lblStanding.setText("Standing");
lblKneeling.setText("Kneeling");
}
else if (classification.equals("Intermediate") || (classification.equals("Senior") && !target)) {
txtProne2.setEditable(false);
txtKneeling2.setEditable(false);
txtStanding2.setEditable(false);
txtProne2.setVisible(false);
txtKneeling2.setVisible(false);
txtStanding2.setVisible(false);
lblStanding.setText("Standing");
lblKneeling.setText("Kneeling");
}
else {
txtProne2.setEditable(false);
txtKneeling2.setEditable(false);
txtStanding2.setEditable(false);
txtProne2.setVisible(false);
txtKneeling2.setVisible(false);
txtStanding2.setVisible(false);
lblStanding.setText("Prone");
lblKneeling.setText("Prone");
}
}
public void setTargetOrLight() {
if (((String)cmbTarget.getSelectedItem()).equals("Target Rifle")) {
target = true;
}
else {
target = false;
}
}
public void setProneTotal() {
try {
if (classification.equals("Senior") && target) {
int prone1 = 0;
int prone2 = 0;
prone1 = Integer.parseInt(txtProne1.getText());
prone2 = Integer.parseInt(txtProne2.getText());
proneTotal = prone1 + prone2;
}
else if (classification.equals("Intermediate") || (classification.equals("Senior") && !target)) {
proneTotal = Integer.parseInt(txtProne1.getText());
}
else {
int prone1 = Integer.parseInt(txtProne1.getText());
int prone2 = Integer.parseInt(txtStanding1.getText());
int prone3 = Integer.parseInt(txtKneeling1.getText());
proneTotal = prone1 + prone2 + prone3;
}
}
catch(NumberFormatException nfe) {
System.err.println(nfe + ": You must enter a valid number - Prone");
}
}
public void setStandingTotal() {
try {
if (classification.equals("Senior") && target) {
int standing1 = 0;
int standing2 = 0;
standing1 = Integer.parseInt(txtStanding1.getText());
standing2 = Integer.parseInt(txtStanding2.getText());
standingTotal = standing1 + standing2;
}
else if (classification.equals("Intermediate") || (classification.equals("Senior") && !target)) {
standingTotal = Integer.parseInt(txtStanding1.getText());
}
else {
standingTotal = 0;
}
}
catch (NumberFormatException nfe) {
System.err.println(nfe + ": You must enter a valid number - Standing");
}
}
public void setKneelingTotal() {
try {
if (classification.equals("Senior") && target) {
int kneeling1 = 0;
int kneeling2 = 0;
kneeling1 = Integer.parseInt(txtKneeling1.getText());
kneeling2 = Integer.parseInt(txtKneeling2.getText());
kneelingTotal = kneeling1 + kneeling2;
}
else if (classification.equals("Intermediate") || (classification.equals("Senior") && !target)) {
kneelingTotal = Integer.parseInt(txtKneeling1.getText());
}
else {
kneelingTotal = 0;
}
}
catch (NumberFormatException nfe) {
System.err.println(nfe + ": You must enter a valid number - Kneeling");
}
}
public void setIndividualTotal() {
individualTotal = proneTotal + kneelingTotal + standingTotal;
lblIndividualTotal.setText("" + individualTotal);
System.err.println(individualTotal);
}
を呼んで、私はその最終のprintln「System.err.println(individualTotal)を持っているスニペット。 '合計を印刷すると印刷が行われ、番号はそこに届くがlblは変更されない。
他に必要なことがある場合はお知らせください。
EDIT:setClassificationで
setTexts()メソッドでも動作しません。
+2いい例:-) –