患者のリスト (ID/名前/年齢) を表示するパネルがあります。患者をクリックすると、患者のデータがパネルのテキストフィールドにリンクされるjlistがあります。
問題: 患者情報を更新しようとすると、更新を押す前に年齢テキスト フィールドをクリックしなかった場合にのみ、年齢 JFormattedTextField に対して nullpointerexception が発生します。
確認するには 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!");
}