Frame shrinkage bug revisited

Giles Lean giles at nemeton.com.au
Thu Sep 3 14:08:42 PDT 1998


On Thu, 3 Sep 1998 13:09:25 +0200  "Peter C. Mehlitz" wrote:

> Some time ago, Marko Rauhamaa brought up a problem with Frame
> sizes. In order to mimic the JDK behavior (the spec doesn't define
> this), we treat Frame sizes like if they would include decorations
> (titlebar, borders) - which is of course just a lie if it comes to
> X.

This I think is related to the problems I saw and mentioned in a PR I
filed on:

    Subject: Minor FlowLayout fixes (nChildren -> getComponentCount(), ...)

I'm puzzled as to why my application code is fine under Sun's JDK if
they include decorations in the Frame size.

The bottom line for me is that application code that uses layout
managers and doesn't set sizes explicitly should do "The Right Thing"
on all platforms.

If applications that set sizes explicitly suffer some damage I'd not
be very concerned.  I don't have a lot of code that does this,
possibly none. (So fix my code, and break the other guy's, yeah!)

Regards,

Giles

P.S. A way to lookup PRs on the web would be good, as would emailed
acknowledgment with the PR number.  The Description from my PR:

	The current FlowLayout code lays out code incorrectly:

	(i)   in the presence of a Frame with a MenuBar the components
	      laid out by FlowLayout are under the MenuBar
	(ii)  components are horizontally shifted right

        Problem (i) is fixed by using parent.insets.top appropriately.

	Problem (ii) is improved (possibly fixed) by using the
	getComponent() and getComponentCount() methods rather than
	nChildren and the array children[].

	PROBLEM: after these fixes are made, the Frame size is not
	correct.  The calculation of the dimensions in FlowLayout
	seems OK, and I think this bug was hidden by the previous
	improper placement of components when parent.insets was
	ignored.








More information about the kaffe mailing list