Как обработать переменную типа TextField что бы исключить ошибку
Использую mvc в javaFx если не буду указывать значение во всех вводимых полях TextField то получу ошибку:
Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
А мне для решения не всегда нужно указывать все 5 значений. Как обработать переменную myTextField5
в классе контроллер
@FXML
public void solve() throws Exception {
this.go();
}
private void go(){
// отдаем классу модель нужные данные
model.setNum1(parseDouble(myTextField1.getText()));
model.setNum2(parseDouble(myTextField2.getText()));
model.setNum3(parseDouble(myTextField3.getText()));
model.setNum4(parseDouble(myTextField4.getText()));
model.setNum5(parseDouble(myTextField5.getText()));
model.setCheckBox1(checkbox1);
model.setCheckBox2(checkbox2);
model.setCheckBox3(checkbox3);
model.setCheckBox4(checkbox4);
// вычисляем результат
model.go();
Класс модель
public class Model {
private double k;
private double krit;
private double zapas;
private String g;
private double a;
private double b;
private double t;
private double e;
private double f;
private double c;
private CheckBox checkbox1;
private CheckBox checkbox2;
private CheckBox checkbox3;
private CheckBox checkbox4;
private Double result;
void setNum1(Double s) {
a = s;
}
void setNum2(Double s) { b = s; }
void setNum3(Double s) {
t = s;
}
void setNum4(Double s) {
e = s;
}
void setNum5(Double s) {
f = s;
}
Ответы (1 шт):
Автор решения: bergik37
→ Ссылка
Решение оказалось простым не обходимо было в set поменяться добавить условие проверки.
private void go(){
// отдаем классу модель нужные данные
model.setNum1(parseDouble(myTextField1.getText()));
model.setNum2(parseDouble(myTextField2.getText()));
model.setNum3(parseDouble(myTextField3.getText()));
model.setNum4(parseDouble(myTextField4.getText()));
if(myTextField5.getText().equals("")){
myTextField5.setPromptText("Уточните значение");
myTextField5.clear();
}
else
{