0

データベースから入力されたコンボボックスでデータキーペアを使用しようとしています。データベース内のレコードを更新します。
データベースからのデータでコンボボックスを埋めることはできますが、コンボボックスからのデータでレコードを更新しようとすると、コンボボックスの選択インデックスが空白の場合にnullポインターがあることを示すエラーが表示されます。
ボックスが空白かどうかを確認する方法を考案しているので、空白の場合は更新に使用しません。
私はこれに完全に困惑しています。

これは、null値をチェックし、値がnullでない場合に更新を実行するためにこれまでに持っているコードです。更新はそれ自体で機能しますが、データ型をキャストする必要があり、何も選択されていないコンボボックスからデータを取得しようとすると、エラーが発生します。

public Boolean checkStrNull(String strTest) {
    if (strTest == null) {
        return false;
    } else if (strTest.isEmpty()) {
        return false;
    } else if (strTest == "") {
        return false;
    } else {
        return true;
    }
}

public Boolean checkIntNull(int intTest) {
    if (intTest == 0) {
        return false;
    } else {
        return true;
    }
}

public void updateIntAnimal(Animal a, String strField, Integer intNew)
        throws SQLException {
    if (checkIntNull(intNew)) {
        a.updateIntField(strField, intNew);
    }
}

public void updateStrAnimal(Animal a, String strField, String strNew)
        throws SQLException {
    if (checkStrNull(strNew)) {
        a.updateStrField(strField, strNew);
    }
}
4

1 に答える 1

1

getSelectedIndex()コンボボックスのメソッドを使用して、選択範囲があるかどうかを確認できます。

[...]選択されたアイテムがない場合、またはユーザーがリストにないアイテムを指定した場合は、-1を返します。

于 2012-05-09T19:42:32.547 に答える