У меня есть панель, которая показывает список пациентов (ID/имена/возраст). У меня есть jlist, что, когда я нажимаю на пациента, он связывает данные пациента с текстовыми полями на моей панели.JFormattedTextField nullpointerexception
Проблема: когда я пытаюсь обновить информацию о пациенте, я получаю nullpointerexception для моего возраста JFormattedTextField, ТОЛЬКО, когда я не нажимаю текстовое поле возраста перед удалением обновления.
Для проверки 1. Всех текстовых полей пустых 2. я нажимаю пациент, он обновляет текстовые поля с информацией пациента 3. я изменить сказать, ID пациент на что-то другое и нажмите кнопку Обновить -> NullPointerException
но если я вместо этого нажимаю на пациента, а затем просто нажимаю возраст JFTF и затем нажимаю обновление, он отлично считывает данные.
Есть ли способ «щелкнуть» текстовое поле?
мой код = когда я нажимаю JList
int patientIndex = patientList.getSelectedIndex();
if (patientIndex == -1) {
return;
}
Object info = listModel.get(patientIndex);
String infoString = (String) info;
StringTokenizer st = new StringTokenizer(infoString);
idTF.setText(st.nextToken());
if (idTF.getText().equals("Empty")) {
idTF.setText("");
return;
}
firstNameTF.setText(st.nextToken());
lastNameTF.setText(st.nextToken());
ageTF.setText(st.nextToken());
-
String fName, lName, id, id2; // For now the ID will be name+age
int age;
Patient p = new Patient();
boolean gender;
// attempts to read the text fields
try {
fName = firstNameTF.getText();
lName = lastNameTF.getText();
id = idTF.getText();
age = ((Number) ageTF.getValue()).intValue();
System.out.println("age = " + age);
} catch (NullPointerException ex) {
System.out.println(ex.getMessage());
statusLabel.setText("All fields marked by a * are requried!");
}