Handling updates to the JavaFX Caspian look
Jonathan Giles
jonathan.giles at oracle.com
Mon Apr 23 13:40:16 PDT 2012
Oh, I should also note that the patch included with RT-19713 uses
ServiceLoader to bring in any Theme instances provided by external jars,
etc. I would really appreciate if someone more familiar with OSGi, and
its classloader complexities, could provide a comment on whether using
the default classloader (the classloader of the current thread) is
correct, or whether we should be passing in a different classloader.
Thanks,
Jonathan
On 24/04/2012 7:59 a.m., Jonathan Giles wrote:
> Hi all (again),
>
> I've put up a very preliminary patch attached to RT-19713 [1] that
> allows for people to set a default user agent stylesheet for their
> entire application. If the default stylesheet is not overridden by the
> developer, then they will be automatically updated to the latest
> stylesheet - should we ever decide to make another one. The main
> driver for this tweak is to prevent JavaFX user interfaces becoming
> stale in the same way Swing user interfaces were stuck using Metal L&F.
>
> Please, if you have time, review the comments in the jira issue itself
> to understand more of the problem space.
>
> Finally, as noted, this is a preliminary patch - there are tweaks to
> be made for sure. Already, David Grieve has commented on the Jira
> issue about suggested changes. I look forward to your suggestions too.
>
> [1] http://javafx-jira.kenai.com/browse/RT-19713
>
> -- Jonathan
>
>
> On 14/03/2012 12:47 p.m., Jonathan Giles wrote:
>> Hi all,
>>
>> Today I came across the RT-19713 [1] Jira issue I filed against
>> myself recently. This Jira issue basically states that we should have
>> API in JavaFX that allows for developers to lock down and specify a
>> particular default stylesheet, and if this isn't specified by the
>> developer, they will be automatically updated in future releases if
>> we ever consider changing the default style sheet. We would always
>> ship earlier style sheets as well, so if the preference was set, the
>> style sheet would be there in the jar file.
>>
>> The reason why I want this feature is that I've seen tweaked caspian
>> style sheets (for example the one used in the upcoming Scene Builder
>> tool) that I would one day love to be the default style sheet for
>> JavaFX as it (in my opinion) is more refined. Similarly, I don't
>> think anyone wants to end up in the same situation as Swing, where
>> the default L&F is Metal, because moving the default to a more modern
>> L&F would potentially break (or at least maim) many deployed Swing
>> applications.
>>
>> Ideally we would have had API like this from the get-go, but alas, it
>> did not happen. Adding API now that by default auto-updates people is
>> of course breaking a contract we have with developers, but I feel
>> that it is better to break this contract now than to forever wish
>> that we could provide a new style sheet and never be able to do it. I
>> think the main thing is to communicate this change as loudly and from
>> as many roof tops as possible. Perhaps there are others on this list
>> that disagree and have different opinions. Feel free to share them.
>>
>> Finally, as of now, there is no intention to ship an updated style
>> sheet that would replace the default, but I'm looking ahead to future
>> releases where this may be desired. Perhaps JavaFX 3.0 may include a
>> visual refresh, for example. If anyone has any thoughts on this
>> proposal, please reply on this thread (and preferably also leave a
>> comment on the Jira issue). I don't have any proposed API for this
>> issue, but if anyone has any thoughts on this, please feel free to
>> share them also.
>>
>> [1] http://javafx-jira.kenai.com/browse/RT-19713
>>
>> Thanks,
>> Jonathan
More information about the openjfx-dev
mailing list