The only issue I've noticed so far is that calling BFrame.layoutChildren() doesn't cause my glass pane to repaint anymore. Not sure if that's actually a problem though, and it was easy enough to find an alternative method.
Live resizing on Windows is very nice.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
It's hard to see how this could actually be caused by Buoy. The error indicates that sun.swing.PrintColorUIResource may have a persistence delegate that is trying to use a no-argument constructor to instantiate it. However, the only constructor on sun.swing.PrintColorUIResource requires two arguments. So, unless something is screwing with the persistence delegates (unlikely), it looks like a JRE bug to me. Maybe check Sun's bug database.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I tried to reproduce this without success. Here's the Beanshell script I used:
import buoy.xml.*;
outline = new BOutline();
outline.setBorder(BorderFactory.createTitledBorder("text"));
f = new BFrame();
f.setContent(outline);
f.addEventLink(WindowClosingEvent.class, f, "dispose");
f.pack();
f.setVisible(true);
out = new ByteArrayOutputStream();
WidgetEncoder.writeObject(f, out);
print(out.toString());
The message about PrintColorUIResource suggests this may be a Look-and-Feel specific issue. Which L&F are you using? If you switch to a different one, does the problem go away?
Peter
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The error still occurs when using default Metal/Ocean theme. As a matter of fact, I use Balise with this theme (can't remember why, there was a reason for not using GTK at the time). So the error happens both with GTK and Ocean LaFs.
I use JDK 1.6.0, I have to check a Fedora Core 4 at work with 1.6.0b2.
Francois.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
A beta of Buoy 1.8 is now available:
http://buoy.sf.net/Buoy18beta.zip
http://buoy.sf.net/Buoyx18beta.zip
Here are the changes since 1.7:
BScrollPane now uses a JScrollPane as its component, which should mean that it does a better job of picking up the native look and feel.
WidgetContainer.getChildren() now returns a Collection instead of an Iterator.
I've reworked the way frames and dialogs decide when to layout their contents, which should make live resizing work correctly under Windows.
DockingContainer now provides a resetToPreferredSizes() method.
I fixed a bug in BuoyComponent which caused it to sometimes not call layoutChildren() on a WidgetContainer inside it.
I fixed a bug in BStandardDialog which caused its contents to sometimes be layed out incorrectly.
I implemented a workaround for a Sun bug which caused cells in a BTable to sometimes go into edit mode when they shouldn't.
I implemented a workaround for an Apple bug which caused Buoy to throw an exception when running under WebStart on OS X.
Peter
The only issue I've noticed so far is that calling BFrame.layoutChildren() doesn't cause my glass pane to repaint anymore. Not sure if that's actually a problem though, and it was easy enough to find an alternative method.
Live resizing on Windows is very nice.
I've updated Balise for Buoy 1.8 and I witnessed a behavior I can't explain :
When saving a frame that has a titled BOutline (using outline.setBorder( BorderFactory.createTitledBorder( "text" ) ) ), I get the following error :
java.lang.InstantiationException: sun.swing.PrintColorUIResource
Continuing ...
java.lang.RuntimeException: failed to evaluate: <unbound>=Class.new();
Continuing ...
I think it's been going on for a while (e.g. Buoy 1.7) though I cannot say for sure when it started to happen. Any idea?
Francois
It's hard to see how this could actually be caused by Buoy. The error indicates that sun.swing.PrintColorUIResource may have a persistence delegate that is trying to use a no-argument constructor to instantiate it. However, the only constructor on sun.swing.PrintColorUIResource requires two arguments. So, unless something is screwing with the persistence delegates (unlikely), it looks like a JRE bug to me. Maybe check Sun's bug database.
You're right. The bug is inherent to JSE6, I also checked on Windows.
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6466058
I don't know what those 6u1 versions are about. Are they post 6.0 ?
Francois.
Ok then, if this is a Sun bug that they've already fixed, I'm not going to worry about it. So I'll go ahead and release Buoy 1.8.
Peter
I tried to reproduce this without success. Here's the Beanshell script I used:
import buoy.xml.*;
outline = new BOutline();
outline.setBorder(BorderFactory.createTitledBorder("text"));
f = new BFrame();
f.setContent(outline);
f.addEventLink(WindowClosingEvent.class, f, "dispose");
f.pack();
f.setVisible(true);
out = new ByteArrayOutputStream();
WidgetEncoder.writeObject(f, out);
print(out.toString());
The message about PrintColorUIResource suggests this may be a Look-and-Feel specific issue. Which L&F are you using? If you switch to a different one, does the problem go away?
Peter
The error still occurs when using default Metal/Ocean theme. As a matter of fact, I use Balise with this theme (can't remember why, there was a reason for not using GTK at the time). So the error happens both with GTK and Ocean LaFs.
I use JDK 1.6.0, I have to check a Fedora Core 4 at work with 1.6.0b2.
Francois.