[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[jfriends] JDK1.1.2ではなぜかHJTableのコンストラクターでvalueChanged()が呼ばれる
えんどうです。
>>>HJTableを使った場合はどうなりますか。
>>
>>import com.sun.java.swing を import javax.swing に書き換えて
>>higa.zip のすべてのソースを再コンパイルしてみました。
>>
>> D:\My Documents\javastart\jdbc>java HJApplet
>> Exception in thread "main" java.lang.NullPointerException
>
>Sun JDK 1.1.8 + Swing 1.1.1 でも NullPonitreException が出ます。
>
> D:\My Documents\javastart\jdbc>\jdk1.1.8\bin\java -classpath .;\jdk1.1.8\lib\cla
> sses.zip;\swing-1.1.1\swingall.jar HJApplet
> java.lang.NullPointerException:
> at higa.dbswing.HJTable.valueChanged(HJTable.java:179)
HJTabel のコンストラクターから、valueChanged() が呼ばれ、dataSet が null なので
NullPointerException が出るようです。
public void valueChanged(ListSelectionEvent e) {
if (navigating) {
navigating = false;
return;
}
int rowIndex = getSelectedRow();
if (dataSet == null) return; // この行を追加した。1999.8.5 y.e
int dsRowIndex = dataSet.getRowIndex();
if (rowIndex >= 0 && dsRowIndex != rowIndex) {
try {
dataSet.goToRow(rowIndex);
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
とりあえず上記のような if 文を書いたら、
JDK 1.2.2 + Swing 1.1.x で正常に動作しています。
--
ENDO Yasuyuki <yasuyuki@xxxxxxxxxx>
http://www.javaopen.org/jfriends/ (Japanese Only)