Camickr's UI Defaults
Useful Tool
Finding camickr's code was a real help to me on a project I just completed, but I had to port the code from
Java 5.0 to Java 6 SE since I'm running the 1.6 version of the JDK and JRE. There were a few exceptions being thrown and I dealt with these.
There are some issues porting Java 5.0 code to Java 6 Platform due to the introduction of generics, which is a good thing by the
way! I also had to correct a major bug in both camickr's and Dr. Jamf's lister that was being caused by comparisons between mutable
and immutable objects. The javax.swing.UIDefaults collection returns a java.util.Hashtable collection.
When the collection is being parsed and cast into their respective objects, (i.e. Borders, Icons, Colors, Fonts,) a
java.lang.ClassCastException can be thrown if a java.lang.Object is compared against a primitive value,
such as a java.lang.String object.
Dr. Jamf has released a serialized java.lang.String wrapper class
that is a suitable solution, but I avoided the need for serialization wrapper class. I've commented and marked all places in the
source code distribution where I've made changes to the original code. Most changes were updates and modifications. I tried not
to mess with the underlining code too much. If you wonder why I plastered my name all over the code so much: accountability. I
believe in transparency in software development and I'm not afraid of peer review. So please feel free to email me with suggestions
or concerns.