带有Substance外观的JColorChooser,Java 7

时间:2011-02-18 01:19:22

标签: java swing java-7 substance

我正在编写一个使用Substance外观和感觉以及JColorChooser的应用程序。这适用于Java 6,但是在使用Java 7进行尝试时,它实际上并不是JColorChooser的:

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

我猜这与在Java 7中引入的新JColorChooser有关,并且Substance以某种方式与当前的相关联。然而,除了编写我自己的颜色选择器之外,还有一个很好的解决这个问题的人都知道吗?我怀疑(希望)实质内容将在适当的时候更新,以解决这个问题,但我想在Java 7早期版本发布之前使用它的一些新功能。

我怀疑这个问题的答案是否定的,但是如果某个地方有一个快速修复/补丁(我找不到),那将是有用的!

1 个答案:

答案 0 :(得分:1)

这是一篇关于“Bug兼容性”的有趣研究。如果颜色设置为null并且您尝试从颜色选择器获取颜色,则会产生NullPointerException。基里尔期待这一点并将其困在try / catch块中。但是,在Java 7中,它们从该方法返回null而不是抛出NPE。

大约有三段代码需要更改:

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

在接下来的一周左右的时间里,我将发布我的第一份非实质性内容,其中包括此修复程序。