JColorchooser con aspetto della sostanza, Java 7
Domanda
Sto scrivendo un'applicazione che usa l'aspetto della sostanza e sentire insieme a un jcolorchooser.Funziona bene con Java 6, ma per provare le cose con Java 7 non è davvero JColorchooser:
java.lang.NullPointerException
at org.pushingpixels.substance.internal.ui.SubstanceListUI$SubstanceListSelectionListener$1.run(SubstanceListUI.java:135)
.
Immagino che questo sia a che fare con il nuovo JColorchooser che viene introdotto in Java 7, e quella sostanza è legata a quella corrente in qualche modo.Tuttavia, oltre a scrivere la mia scelta di colori, c'è una bella via attorno a questo problema che qualcuno conosce?I sospetto (speranza) la sostanza sarà aggiornata a tempo debito per risolvere questo problema, ma vorrei giocare con alcune delle nuove caratteristiche nelle prime build di Java 7 prima che sia rilasciato.
In qualche modo sospetta la risposta a questo è no, ma se c'è una soluzione rapida / patch da qualche parte (non ho trovato uno) sarebbe utile!
Soluzione
This is an interesting study in "Bug Compatibility." If the color is set to null and you try and get the color from the color chooser, a NullPointerException resulted. Kirill expected this and trapped it in a try/catch block. However, in Java 7 they instead return null from that method instead of throwing an NPE.
There are about three snippets of code that need to be changed:
https://github.com/Insubstantial/insubstantial/commit/0f01ae676c6f56d6879862a911ad03caeafabc52
In the next week or so I'm going to publish my first distribution of insubstantial that will include this fix.