1

私は、SubstanceのルックアンドフィールとJ​​ColorChooserを使用するアプリケーションを作成しています。これはJava6で正常に機能しますが、Java 7で試してみると、実際にはJColorChooserでは機能しません。

java.lang.NullPointerException
at org.pushingpixels.substance.internal.ui.SubstanceListUI$SubstanceListSelectionListener$1.run(SubstanceListUI.java:135)

これは、Java 7で導入されている新しいJColorChooserと関係があり、Substanceは何らかの方法で現在のものに関連付けられていると思います。しかし、私自身のカラーチューザーを書く以外に、誰もが知っているこの問題を回避する良い方法はありますか?この問題を解決するために、実質がやがて更新されると思いますが、リリースされる前に、Java7の初期ビルドの新機能のいくつかを試してみたいと思います。

私はどういうわけかこれに対する答えはノーだと思いますが、どこかにクイックフィックス/パッチがある場合(私はそれを見つけることができませんでした)、それは役に立ちます!

4

1 に答える 1

1

これは「バグ互換性」の興味深い研究です。色がnullに設定されていて、カラーチューザーから色を取得しようとすると、NullPointerExceptionが発生しました。キリルはこれを予期し、try/catchブロックに閉じ込めました。ただし、Java 7では、NPEをスローする代わりに、そのメソッドからnullを返します。

変更が必要なコードのスニペットは約3つあります。

https://github.com/Insubstantial/insubstantial/commit/0f01ae676c6f56d6879862a911ad03caeafabc52

来週かそこらで、この修正を含む実体のない最初のディストリビューションを公開する予定です。

于 2011-04-01T04:20:40.883 に答える