[jsword-devel] BibleDesktop 0.9.9 on the Mac is broken
dmsmith555 at gmail.com
Thu Apr 7 05:07:04 MST 2005
It has been noted in Bug BD-64
(http://www.crosswire.org/bugs/browse/BD-64), that the layout of
BibleDesktop 0.9.9 on the Mac is entirely broken. For this reason, we
have not supplied a 0.9.9 dmg.gz for BibleDesktop on the download page
Mark is working on this. Anyone else with a Mac is welcomed to help. We
will post when it is fixed amd when the dmg.gz if available.
For developers (I added this comment to BD-64):
I think the problem is tied to the issue of whether to use pack() or
setSize() to set the size of the window.
The problem with pack is that it asks each component for its preferred
size and uses that for layout. If a component does not have a preferred
size, but is a container, it recurses into it to get the size. The
reason that this is a problem is that it causes setPreferredSize,
setMaximumSize and setMinimumSize to be called all over the code to
establish the size of the components. When size problems occur,
generally by the interaction of sub components, it is very hard to debug.
One solution to the problem is to use setPreferredSize only on the top
level container in a window.
The other solution is to use setSize on the window. This also provides
the advantage of being able to maximize the window on some platforms.
The disadvantage is that if pack() is called, the window is squished to
its minimum size.
Over time I have removed all the calls to setPreferredSize,
setMinimumSize, and setMaximumSize and used GUIUtil.setSize() to set the
size of the windows.
It appears that it is not being honored on Mac OSX.
As I don't have access to Mac OSX, I can't help much further.
More information about the jsword-devel