Am 12.05.2016 um 15:17 schrieb Alan Bateman:

On 12/05/2016 09:49, wzberger wrote:

We provide libs for Swing and JavaFX. For most of the issues bug reports have been filed. But it's not only about known bugs we also have to handle unknown bugs - the release cycles until things get fixed are way too long while customers need solutions. So will it be possible to fork specific JDK modules and deploy such modified modules to users in a simple manner - webstart included?
With OpenJDK then you can of course do your own builds. The java.desktop module is not an upgradeable module (not like the EE modules) so you can't deploy an upgraded version of java.desktop on the upgrade module path, at least not with Oracle JDK builds. You can patch it via -Xpatch for testing or debugging purposes but I assume you don't want your users doing that. This reminds to ask - when you patch the code today then you are using -Xbootclasspath/p or does patching mean using core reflection to access/change private fields.

Java Web Start is not in OpenJDK so I can't comment on patching that (or maybe you mean having web start download patches?).

Finally, and I understand it can frustrating to hit a bug that isn't fixed in a timely manner, but have you considered contributing fixes for the bugs that you are running into?

-Alan


Workarounds are mostly implemented via reflection - some features are provided by extending internal classes. A widely spread example is customization of a JTable header renderer by extending sun.swing.table.DefaultTableCellHeaderRenderer - it's a pretty common approach which is often used in the wild. We also extend sun.swing.DefaultLookup and require access to sun.swing.plaf.synth.DefaultSynthStyle - of course this is more specific. So what's the recommendation, should we file a bug report to provide a public API for these kind of classes and if so will these classes find their way into the public API?

Because of contributing fixes, if things are simple and clear enough we propose fixes. More complex fixes or extensions would require extra resources which is currently not an option.

- Wolfgang



Reply via email to