В настоящее время я делаю форму, которая включает текстовые поля и флажки. Я уже связал флажок с текстовым полем, и если флажок ВЫБРАН, текстовое поле включено; пока флажок НЕ ВЫБРАН, текстовое поле отключено.
Теперь моя проблема заключается в том, что если пользователи установят флажок и введут какое-либо значение в текстовое поле, а затем снова снимут флажок, моя программа все равно будет считывать ввод из отключенного текстового поля. Есть ли способ преодолеть эту проблему? Ниже моя кодировка:
private void pnl1submitbtnActionPerformed(java.awt.event.ActionEvent evt) {
moduleFunc moduleFunc;
String module = moduletxtfield.getText();
double exam = Double.parseDouble(examtextfield.getText());
double ct = Double.parseDouble(cttextfield.getText());
double quiz = Double.parseDouble(quiztextfield.getText());
double assign = Double.parseDouble(asstextfield.getText());
try {
if (module.trim().isEmpty()) {
moduleerrorlbl.setText("Field cannot be empty");
}
else if (!(exam+ct+quiz+assign == 100)) {
markerrorlbl.setText("Total marks must be 100");
}
else
{
markerrorlbl.setText("");
moduleerrorlbl.setText("");
}
Спасибо.
ОТРЕДАКТИРОВАНО:
Спасибо, ребята, я понял, как это работает.
private void pnl1submitbtnActionPerformed(java.awt.event.ActionEvent evt) {
moduleFunc moduleFunc;
String module = moduletxtfield.getText();
double exam = 0.0, assign = 0.0, quiz = 0.0, ct = 0.0;
try {
if (module.trim().isEmpty()) {
moduleerrorlbl.setText("Field cannot be empty");
}
else if (OODJ.moduleRecord.containsKey(module)) {
moduleerrorlbl.setText("Module already exists!");
}
else {
if (examchkbox.isSelected()) {
exam = Double.parseDouble(examtextfield.getText());
}
if(ctchkbox.isSelected()) {
ct = Double.parseDouble(cttextfield.getText());
}
if(quizchkbox.isSelected()) {
quiz = Double.parseDouble(quiztextfield.getText());
}
if(asschkbox.isSelected()) {
assign = Double.parseDouble(asstextfield.getText());
}
if (!(exam + ct + quiz + assign == 100)) {
markerrorlbl.setText("Total marks must be 100");
}
else {
// self-coded
}
}
}
catch (Exception ex) {
JOptionPane.showMessageDialog(null, ex);
}