I did some work on the GNU Classpath GridBagLayout and it is now almost done (a large
part was already done by Michael Koch). Obviously, writing the GridBagLayout
code requires a good understanding of how it works. I never bothered to really understand
the GridBagLayout, but I did use it quite frequently, a couple of years ago. I remember
it was mostly a process of trial and error. After taking the time to figure out how
it works, I must say that I actually really like it. It has a somewhat bad reputation
in the Java community, but I think it's quite nice.
I can't leave it on that positive note, of course I have to criticize it
as well. Sun has this really nasty habit of renaming virtual methods (adding
aliases). This is not a good idea, to put it mildly. In JDK 1.4 they introduced: getLayoutInfo,
adjustForGravity, getMinSize and arrangeGrid. These methods offer no new functionality,
they are "replacements" for GetLayoutInfo, AdjustForGravity, GetMinSize and ArrangeGrid.
So just because someone didn't abide by the method naming rules, some idiot now decides
to enormously complicate the class.
You might think, what's the big deal? The problem is that when you're overriding a
virtual method that has two names, you don't know which one you should override. Overriding
both usually doesn't work either because you usually want to call the super class
implementation one of which in turn usually calls the other version of the method,
thus resulting in infinite recursion.
Anyway, I made new snapshots. Source and binaries.
I apologize for the lameness of this, but the comment spam was driving me nuts.
In order to be able to post a comment, you need to answer a simple question. Hopefully this question
is easy enough not to annoy serious commenters, but hard enough to keep the spammers away.
Anti-Spam Question: What method on java.lang.System returns an object's original hashcode (i.e. the
one that would be returned by java.lang.Object.hashCode() if it wasn't overridden)? (case is significant)
Powered by: newtelligence dasBlog 2.3.12105.0
© Copyright 2017, Jeroen Frijters