JIDE on Mac

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.

JIDE on Mac

Postby robert » Tue Apr 08, 2008 8:32 pm

I've been experimenting with the JIDE common layer and I'm quite impressed with the various components. However, the main issue I have experienced is the LAF on Mac.

On Mac (and maybe other OS's) the OK and Cancel buttons are reversed in position with regards to the standard Windows positions. When I create a standard JDialog, the Apple JRE correctly positions the OK and Cancel buttons. However if I use a JIDE dialog (such as the FolderChooser), the Open and Cancel buttons have incorrect positions. I assume this is also true for other JIDE dialogs. I am wondering if there are any plans to address this. While JIDE dialogs work well on Windows, I would not implement them on Mac for this reason.

Another issue is the JideTabbedPane. The JIDE implementation is very good on Windows. However, on Mac the appearance differs significantly from the Mac LAF. So on Mac, I would prefer to use the JTabbedPane, while on Windows I would like to implement the JideTabbedPane. Is there an easy way to do this, other than lots of if..else statements?

Thanks
robert
 
Posts: 41
Joined: Thu Apr 03, 2008 6:56 am

Postby JIDE Support » Tue Apr 08, 2008 9:33 pm

On Mac OSX, OK and Cancel should be in reversed order which is part of OS user interface guideline.

For JideTabbedPane, it is indeed different from the native OS tabbed pane. The reason is JideTabbedPane supports many different styles (as you can see in JideTabbedPane). We will try to adjust the style to fit the OS style but it won't be exactly the same as we actually do the painting ourselves. I hope Apple JDK can expose the painting method for it but it is not working like that.

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

Postby robert » Wed Apr 09, 2008 6:09 am

JIDE Support wrote:On Mac OSX, OK and Cancel should be in reversed order which is part of OS user interface guideline.


When I run the demo, the OK and Cancel are not in reverse order. This is true for all dialogs in the demo. This is also true if I add the FolderChooser to my application. I'm using OS X 10.5.2, Java 1.5.0_13.

UIManager.get("ButtonPanel.order") returns "ACO" on my Mac.
robert
 
Posts: 41
Joined: Thu Apr 03, 2008 6:56 am

Postby JIDE Support » Wed Apr 09, 2008 10:15 am

I wonder if you are not using Aqua L&F. It will be in the order of Cancel OK only if Aqua L&F is used. I just verified it in the StandardDialogDemo and see the order is correct.

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

Postby robert » Wed Apr 09, 2008 11:35 am

Yes, I'm definitely using Aqua LAF. I wonder if we are using different Java versions.

I've done some debugging and found that AquaJideUtils.initComponentDefaults() is not being invoked.

isAquaLnfInstalled() returns true
isLnfInUse(AQUA_LNF) returns false
..causing the above invocation failure.

UIManager.getLookAndFeel().getID() returns "Aqua" which does not match the value of AQUA_LNF

Class.forName(lnfName).getClass().isAssignableFrom(UIManager.getLookAndFeel().getClass())
also returns false, causing isLnfInUse() to return false
robert
 
Posts: 41
Joined: Thu Apr 03, 2008 6:56 am

Postby JIDE Support » Wed Apr 09, 2008 11:40 am

What is UIManager.getLookAndFeel().getClass() returning in your case?

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

Postby robert » Wed Apr 09, 2008 11:47 am

UIManager.getLookAndFeel().getClass() returns

"class apple.laf.AquaLookAndFeel"
robert
 
Posts: 41
Joined: Thu Apr 03, 2008 6:56 am

Postby JIDE Support » Wed Apr 09, 2008 11:50 am

If so, the first condition should be true, right?

lnfName.equals(UIManager.getLookAndFeel().getClass().getName())
JIDE Software Technical Support Team
JIDE Support
Site Admin
 
Posts: 37219
Joined: Sun Sep 14, 2003 10:49 am

Postby robert » Wed Apr 09, 2008 12:03 pm

JIDE Support wrote:If so, the first condition should be true, right?

lnfName.equals(UIManager.getLookAndFeel().getClass().getName())


No,

UIManager.getLookAndFeel().getClass()
returns "class apple.laf.AquaLookAndFeel"
not "apple.laf.AquaLookAndFeel"

UIManager.getLookAndFeel().getClass().getName() returns
"apple.laf.AquaLookAndFeel", but getName() is not in the source. The source just has getClass()
robert
 
Posts: 41
Joined: Thu Apr 03, 2008 6:56 am

Postby JIDE Support » Wed Apr 09, 2008 12:18 pm

Are you on the latest version? My source has getName().

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

Postby robert » Wed Apr 09, 2008 12:34 pm

OK it works now!

I was using 2.2.2 which does have this bug. The isLnfInUse() method was changed in 2.3 (released yesterday) and the buttons are now ordered correctly.

Thanks for the excellent support. It is quite unusual to get support replies within a few minutes!

Thanks
robert
 
Posts: 41
Joined: Thu Apr 03, 2008 6:56 am


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

Who is online

Users browsing this forum: No registered users and 81 guests