Interaction with the UIManager table

This is the forum for JIDE Common Layer which is open sourced at https://github.com/jidesoft/jide-oss. Please note, JIDE technical support doesn't monitor this forum as often as other forums. Please consider subscribe for technical support for JIDE Common Layer so that you can use customer only forum to get a timely response.

Moderator: JIDE Support

Forum rules
Community driven forum for open source JIDE Common Layer. JIDE technical support doesn't monitor this forum as often as other forums. If you only use JIDE Common Layer, please consider subscribing for technical support for JIDE Common Layer so that you can use customer only forum to get a timely response.

Interaction with the UIManager table

Postby kirillcool » Sat Jun 28, 2008 4:33 pm

To prevent JIDE (common components) from overriding the UIManager entries of menu items, i use

LookAndFeelFactory.installJideExtension(LookAndFeelFactory.XERTO_STYLE_WITHOUT_MENU);

If i put this line before setting the custom LAF, it has no effect (the menus get the UI delegates from JIDE). If i put this line after setting the custom LAF, it overrides the UIManager entries of custom UI delegates (such as JideButtonUI, for example).

If i don't add that line at all, it looks OK.

So i guess my question is - if i'm writing a set of custom UI delegates for JIDE, should the application use LookAndFeelFactory, or is it enough to populate the UIManager table with the information on the custom UI delegates?

Thanks
Kirill
kirillcool
 
Posts: 19
Joined: Wed Sep 21, 2005 12:45 am

Postby JIDE Support » Sat Jun 28, 2008 4:41 pm

The right order is

Code: Select all
UIManager.setLookAndFeel(...);
LookAndFeelFactory.installJideExtension(optional style);


If you want to some customization, use addUIDefaultsInitializer and addUIDefaultsCustomizer. You may find the need to use both method. The javadoc for these two methods of LookAndFeelFactory should have sample code of how to use them.

Depending on how you want to customize, you may or may not need to write any UI delegates. For example, for Synthetica integration, I only write one very simple SyntheticaJideTabbedPaneUI for JideTabbedPane (mainly because it doesn't use the ThemePainter way although it should). All other UI are done through SyntheticaJidePainter. You can look at SyntheticaCustomizer and SyntheticaInitializer to see how they played together.

Thanks,

Thanks,
JIDE Software Technical Support Team
JIDE Support
Site Admin
 
Posts: 37219
Joined: Sun Sep 14, 2003 10:49 am

Postby kirillcool » Sat Jun 28, 2008 11:01 pm

Thanks, David
kirillcool
 
Posts: 19
Joined: Wed Sep 21, 2005 12:45 am


Return to JIDE Common Layer Open Source Project Discussion (Community Driven)

Who is online

Users browsing this forum: Google [Bot] and 51 guests