SwingX Painters - Episode 218 Correction

24 views
Skip to first unread message

robeden

unread,
Nov 24, 2008, 11:26:56 AM11/24/08
to The Java Posse
Guys -

I love the show. One comment though, on the SwingX and Painter stuff,
it's pretty clear that you're not familiar with the issues. You might
want to research them or get someone one who does understand before
you talk about them in depth.

Dick, the issue with the painters is that they *did* happen. The
community did go out and get them done and put into the SwingX
project. The decision was then made by Sun (who controls SwingX) to
yank them out. This was done after quite a while (at least a year, I
believe) and quite a lot of community input and excitement about the
feature. Here's Josh's announcement of the removal:
http://forums.java.net/jive/thread.jspa?threadID=21745. To quote Krill
Grouchnikov: "This has effectively destroyed the trust of external
contributors, who never came back, even after Sun developers have
retired themselves from being involved in the project." (Reference:
http://weblogs.java.net/blog/kirillcool/archive/2008/11/sun_setting_dow.html)

Now, of course there are always reasons. But, I think the community
frustration was the lack of discussion. It was done in a very heavy-
handed way.

Rob

Joshua Marinacci

unread,
Nov 24, 2008, 3:39:47 PM11/24/08
to java...@googlegroups.com, The Java Posse
As I have stated several times before: I did not and will not remove
the painter api.

Please read the entire email thread. What I *did* do is refactor the
painter api to be simpler and recommend takeing other approaches for
particular use cases. We had the choice between continuing to search
for a complete solution that would take a long time and still might
not exist, or ship something more limited that works today. We opted
for the latter.

I still would like a more powerful system but the JXLayer project has
proven to be a better approach to the the problem.

- Josh, on the go

mikaelgrev

unread,
Nov 24, 2008, 5:59:17 PM11/24/08
to The Java Posse
Josh, these two projects are basically ONLY made out of layered
painters, so I know what I am talking about when I say that painters
are super great, but they need to be reasonably powerful to be of any
value. It would be fun to know who yanked out the guts of them and
what "real" experience they have programming with painters (we are not
talking demos here...).

http://www.migcalendar.com
http://miginfocom.com/blog/

Cheers,
Mikael Grev

On Nov 24, 9:39 pm, Joshua Marinacci <jos...@gmail.com> wrote:
> As I have stated several times before: I did not and will not remove  
> the painter api.
>
> Please read the entire email thread. What I *did* do is refactor the  
> painter api to be simpler and recommend takeing other approaches for  
> particular use cases. We had the choice between continuing to search  
> for a complete solution that would take a long time and still might  
> not exist, or ship something more limited that works today. We opted  
> for the latter.
>
> I still would like a more powerful system but the JXLayer project has  
> proven to be a better approach to the the problem.
>
> - Josh, on the go
>
> On Nov 24, 2008, at 8:26 AM, robeden <robed...@gmail.com> wrote:
>
>
>
> > Guys -
>
> > I love the show. One comment though, on the SwingX and Painter stuff,
> > it's pretty clear that you're not familiar with the issues. You might
> > want to research them or get someone one who does understand before
> > you talk about them in depth.
>
> > Dick, the issue with the painters is that they *did* happen. The
> > community did go out and get them done and put into the SwingX
> > project. The decision was then made by Sun (who controls SwingX) to
> > yank them out. This was done after quite a while (at least a year, I
> > believe) and quite a lot of community input and excitement about the
> > feature. Here's Josh's announcement of the removal:
> >http://forums.java.net/jive/thread.jspa?threadID=21745. To quote Krill
> > Grouchnikov: "This has effectively destroyed the trust of external
> > contributors, who never came back, even after Sun developers have
> > retired themselves from being involved in the project." (Reference:
> >http://weblogs.java.net/blog/kirillcool/archive/2008/11/sun_setting_d...

Bill Robertson

unread,
Nov 24, 2008, 9:10:03 PM11/24/08
to The Java Posse

Mark Derricutt

unread,
Nov 24, 2008, 9:51:47 PM11/24/08
to java...@googlegroups.com
Does this mean we'll have painters on Tuesday?  But wait - TODAY IS TUESDAY!

On Tue, Nov 25, 2008 at 3:10 PM, Bill Robertson <billrob...@gmail.com> wrote:

http://xkcd.com/277/


--
"It is easier to optimize correct code than to correct optimized code." -- Bill Harlan

Joshua Marinacci

unread,
Nov 24, 2008, 10:25:28 PM11/24/08
to java...@googlegroups.com
I yanked them out, as described in that thread. The problem was never
the layers themselves. They are clearly a good thing. The problem was
addressing the backwards compatibility while creating a flexible and
yet non-surprising API with clear semantics. After months of
discussion (much of which took place on that mailing list), we decided
to refactor it. It wasn't an easy decision, as I described in the
thread, but we felt is was necessary. There is nothing preventing you
from having your own Layered painter, btw. The Painter interface is
still there and can be used quite nicely as it is. We just decided not
to extend it carte-blanch to all JX components because it didn't have
clear semantics.

Two years later I still think it was the right choice. We now have
better ways of doing the things we were trying to accomplish; with
projects like the Nimbus L&F, JavaFX, and the JXLayeredPane.

- Josh

mikaelgrev

unread,
Nov 25, 2008, 3:10:02 PM11/25/08
to The Java Posse

> Two years later I still think it was the right choice. We now have  
> better ways of doing the things we were trying to accomplish; with  
> projects like the Nimbus L&F, JavaFX, and the JXLayeredPane.

I you use one of those things, that is... Which is how many percent of
the developers? 5?

I don't mean to be rude, but there is a big difference if 5% gets the
chance to use it or if 95% get the chance as would've been the case
with Swing. Sun engineers always wants us to add this and that to our
projects so solve some simple thing but don't seem to understand that
all those jars really add up to the download. I would never dream of
adding swingx.jar just to get JXLayeredPane, to get painters, for
instance. Painters is a 1k thing and you shouldn't have to add more
than that to get it.

Joshua Marinacci

unread,
Nov 25, 2008, 10:22:33 PM11/25/08
to java...@googlegroups.com
Always be careful when you ask for something to be pulled into core.
Any API, even something as simple as Painters, becomes frozen the
minute it is added to core. Any core api must be 100% backward
compatible, must not break any existing code, and can only be updated
on the release schedule of the JDK. (which is something like every 2
years at this point). All just so you don't have to add a tiny jar to
your app. Most of the things people ask to add to core would be
better done as libraries. This includes most of the swing extensions.
You are correct that Painters are a tiny bit of API, which is all the
more reason to just add it to your app as a separate jar. You don't
need to add all of SwingX, just the parts you need.

- Josh
Reply all
Reply to author
Forward
0 new messages