0

患者のリスト (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!");
    }
4

1 に答える 1