On Oct 27, 2007, at 9:53 PM, Kerry Shetline wrote:
Once again, a new OS update, a new bizarre layout behavior for
Aqua Swing components.
I apologize if the control metrics seem bizarre, however we are
only trying to follow the Aqua Human Interface Guidelines (and
we're not done yet). Also, Java is in the unique position of
needing the full area around the control that the focus ring draws
to also be "within the bounds of the control".
That's assuming that the focus ring is drawn as part of the
component's graphics as opposed to some other way (the layered pane
works nicely for this purpose). There are probably a host of issues
that you have to consider, but I would think you'd like to avoid the
Java layout *having* to be different from a native app layout just
to provide extra border space for a potential focus ring.
We did consider using the layered pane early on, however we found that
no matter how unobtrusive we made the code, there was always still
some conflict with other developers who were using the layered pane
for strange and interesting tricks of their own. Since the OS already
vends the artwork with the focus ring beautifully composited into the
control, it was much easier to get it all in one shot than to draw the
ring ourselves, and figure out hardcoded soft clipping masks for a
subset of those controls.
Also, Java layout is so fundamentally different from Cocoa layout,
that there is no real code that we can share in that regard. I think
you would find that if you manually layout a few buttons in Interface
Builder, that the focus rings they paint are actually layered into the
z-order of the components they belong to as well.
I do thank you though for the suggestion, and I'm always open to
hearing new ideas. If you have any specific issues about any of the
controls, please do file them at http://bugreporter.apple.com. I think
the whole focus ring idea is certainly something that should continue
to be iterated and innovated on.
Thanks much,
Mike Swingler
Java Frameworks Engineer
Apple Inc.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Java-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/java-dev/email@hidden