テーブルが新しいデータで更新されると、prepareRenderer
が呼び出されます。これは、デフォルトで、JTableが更新されたときの動作です。しかし、私のプログラムがprepareRendererメソッドを呼び出すと、その引数にnull TableCellRendererが与えられます。したがって、私はNULLポインタ例外を取得します。なぜTableCellRendererがnullですか?
dataTable = new javax.swing.JTable() {
@Override
public Component prepareRenderer(TableCellRenderer renderer, int row, int column) {
return super.prepareRenderer(renderer, row, column);
}
};
これは私がそれを宣言する方法です。 @Overrideは本当に必要なものではありません。私はそれを置くので、ブレークポイントを置くことができるので、実際には発砲していて、引数の値が何であったのか分かりました。何らかの理由で、javaがこのprepareRenderメソッドを呼び出すと、TableCellRenderer引数にnull値が返されます。なぜそれをやっているのですか?どうすれば修正できますか? NPEのために画面上に何も表示されません。
男の子同じトピックについて質問があるときに、別の質問を投稿したのは面倒です。http://stackoverflow.com/questions/36180429/exception-in-thread-awt-eventqueue-0-java-lang -nullpointerexception-jtabを使用します。あなたは適切な「SSCCE」を投稿するように求められました。そうしないと、すべての時間を無駄にするだけです! – camickr