Has anyone tackled the situation where layout of child nodes takes too
long to do on the event thread in layoutChildren()?
I tried using a javax.swing.SwingWorker as follows
protected void layoutChildren()
// layout quickly now
// delay long-running layout
private static class LayoutCorrectly extends SwingWorker<Point2D, Object>
private PNode childNode;
private LayoutCorrectly(final PNode childNode)
this.childNode = childNode;
public Point2D doInBackground()
// calculate offset in background thread
protected void done()
// set offset back in event thread
Point2D offset = get();
When setOffset is called on the child node on the event thread in
SwingWorker.done(), it re-calls layoutChildren() on the parent,
leading to that soft infinite loop described in comments for
validateFullBounds() in PNode.java source.
I tried making childNode's bounds volatile without fully understanding
what that means to no effect.
Piccolo2D Developers Group: http://groups.google.com/group/piccolo2d-dev?hl=en
To unsubscribe, reply using "remove me" as the subject.