Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [albireo-dev] Updated RelayoutExampleView

Gordon Hirsch wrote:
> There's some odd behavior with the new example that needs some 
> investigation. Not sure if it is a bug in the example, strange SWT 
> behavior, or a bug in albireo.
> 
> For example, growing both controls at once is not always as symmetrical 
> as I would have expected.

The attached change fixes it.

In the attached event traces, the first paragraph comes from the initial
display, the second paragraph from pressing "Grow both", the last paragraph
from "Grow both" and turned asymetric. What you can see is that:
  - The AWT thread changed the first JComponent's size,
  - The SWT thread started to react immediately by doing a layout, that
    considered the new size of the first control but the old size of the
    second control,
  - Then the AWT thread changed the second JComponent's size.
  - The SWT thread started a second layout. It computed the size of both
    controls correctly but somehow failed to call setBounds on the second
    control.
As a consequence, in this paragraph there's only 3
"AWT thread: updated component sizes" lines instead of 4.

Searching what can influence an SWT Layout to omit a call to setBounds
I stumbled onto some caches in the class GridData. We need to clear these
caches at the appropriate moment. The patch does it.

Bruno


Index: src/org/eclipse/albireo/core/SwingControl.java
===================================================================
RCS file: /cvsroot/technology/org.eclipse.albireo/org.eclipse.albireo.core/src/org/eclipse/albireo/core/SwingControl.java,v
retrieving revision 1.38
diff -c -3 -r1.38 SwingControl.java
*** src/org/eclipse/albireo/core/SwingControl.java      21 Feb 2008 00:04:31 -0000      1.38
--- src/org/eclipse/albireo/core/SwingControl.java      25 Feb 2008 19:22:22 -0000
***************
*** 42,47 ****
--- 42,48 ----
  import org.eclipse.swt.graphics.Rectangle;
  import org.eclipse.swt.layout.FillLayout;
  import org.eclipse.swt.widgets.Composite;
+ import org.eclipse.swt.widgets.Control;
  import org.eclipse.swt.widgets.Display;
  import org.eclipse.swt.widgets.Event;
  import org.eclipse.swt.widgets.Listener;
***************
*** 651,658 ****
       */
      protected void preferredSizeChanged(Point minSize, Point prefSize, Point maxSize) {
          Composite ancestor = getLayoutableAncestor();
!         if (ancestor != null)
!             ancestor.layout();
      }
  
      // This is called by the layout when it assigns a size and position to this
--- 652,665 ----
       */
      protected void preferredSizeChanged(Point minSize, Point prefSize, Point maxSize) {
          Composite ancestor = getLayoutableAncestor();
!         if (ancestor != null) {
!             // Not just ancestor.layout().
!             // It is important to tell the Layout that the preferences have
!             // changed. Objects such as org.eclipse.swt.layout.GridData (for
!             // GridLayout) cache the last width and height. We must flush this
!             // cached geometry.
!             ancestor.layout(new Control[] { this });
!         }
      }
  
      // This is called by the layout when it assigns a size and position to this
SWT thread: Uninitialized AWT sizes for javax.swing.JPanel[,0,0,0x0,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
SWT thread: Uninitialized AWT sizes for javax.swing.JPanel[,0,0,0x0,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
SWT thread: setBounds called: 64 x 64
SWT thread: Preparing to set size: 64 x 64 for javax.swing.JPanel[,0,0,0x0,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
SWT thread: setBounds called: 64 x 64
SWT thread: Preparing to set size: 64 x 64 for javax.swing.JPanel[,0,0,0x0,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
AWT thread: updated component sizes: java.awt.Dimension[width=116,height=135] <= java.awt.Dimension[width=116,height=135] <= java.awt.Dimension[width=0,height=2147483647]
AWT->SWT thread: Laying out after size update
SWT thread: Computed size: 116 x 135 for javax.swing.JPanel[,0,0,0x0,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
SWT thread: Uninitialized AWT sizes for javax.swing.JPanel[,0,0,0x0,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
SWT thread: setBounds called: 116 x 135
SWT thread: setBounds called: 64 x 64
SWT thread: Preparing to set size: 64 x 64 for javax.swing.JPanel[,0,0,0x0,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
AWT thread: updated component sizes: java.awt.Dimension[width=116,height=135] <= java.awt.Dimension[width=116,height=135] <= java.awt.Dimension[width=0,height=2147483647]
AWT->SWT thread: Laying out after size update
SWT thread: Computed size: 116 x 135 for javax.swing.JPanel[,0,0,0x0,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
SWT->AWT thread: Setting size: 64 x 64 for javax.swing.JPanel[,0,0,0x0,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
SWT thread: Computed size: 116 x 135 for javax.swing.JPanel[,0,0,0x0,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
SWT thread: setBounds called: 116 x 135
SWT thread: Preparing to set size: 116 x 135 for javax.swing.JPanel[,0,0,0x0,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
SWT thread: setBounds called: 116 x 135
AWT thread: updated component sizes: java.awt.Dimension[width=116,height=135] <= java.awt.Dimension[width=116,height=135] <= java.awt.Dimension[width=0,height=2147483647]
SWT->AWT thread: Setting size: 64 x 64 for javax.swing.JPanel[,0,0,0x0,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
AWT thread: updated component sizes: java.awt.Dimension[width=116,height=135] <= java.awt.Dimension[width=116,height=135] <= java.awt.Dimension[width=0,height=2147483647]
AWT thread: updated component sizes: java.awt.Dimension[width=116,height=135] <= java.awt.Dimension[width=116,height=135] <= java.awt.Dimension[width=0,height=2147483647]
Size: 116 x 135 after java.awt.event.ComponentEvent[COMPONENT_RESIZED (734,530 116x135)] on frame0
AWT thread: updated component sizes: java.awt.Dimension[width=116,height=135] <= java.awt.Dimension[width=116,height=135] <= java.awt.Dimension[width=0,height=2147483647]
Size: 116 x 135 after java.awt.event.ComponentEvent[COMPONENT_RESIZED (855,530 116x135)] on frame1
Size: 116 x 135 after java.awt.event.ComponentEvent[COMPONENT_RESIZED (734,530 116x135)] on frame0
SWT->AWT thread: Setting size: 64 x 64 for javax.swing.JPanel[,0,0,116x135,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
AWT thread: updated component sizes: java.awt.Dimension[width=116,height=135] <= java.awt.Dimension[width=116,height=135] <= java.awt.Dimension[width=0,height=2147483647]
AWT thread: updated component sizes: java.awt.Dimension[width=116,height=135] <= java.awt.Dimension[width=116,height=135] <= java.awt.Dimension[width=0,height=2147483647]
Size: 116 x 135 after java.awt.event.ComponentEvent[COMPONENT_RESIZED (855,530 116x135)] on frame1
Size: 116 x 135 after java.awt.event.ComponentEvent[COMPONENT_RESIZED (855,530 116x135)] on frame1
Size: 116 x 135 after java.awt.event.ComponentEvent[COMPONENT_RESIZED (734,530 116x135)] on frame0
Size: 116 x 135 after java.awt.event.ComponentEvent[COMPONENT_RESIZED (734,530 116x135)] on frame0
SWT->AWT thread: Setting size: 116 x 135 for javax.swing.JPanel[,0,0,116x135,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
Size: 116 x 135 after java.awt.event.ComponentEvent[COMPONENT_RESIZED (855,530 116x135)] on frame1
Size: 116 x 135 after java.awt.event.ComponentEvent[COMPONENT_RESIZED (855,530 116x135)] on frame1
Size: 116 x 135 after java.awt.event.ComponentEvent[COMPONENT_RESIZED (855,530 116x135)] on frame1
Size: 116 x 135 after java.awt.event.ComponentEvent[COMPONENT_MOVED (0,0 116x135)] on frame0
Size: 116 x 135 after java.awt.event.ComponentEvent[COMPONENT_RESIZED (0,0 116x135)] on frame0
Size: 116 x 135 after java.awt.event.ComponentEvent[COMPONENT_MOVED (855,530 116x135)] on frame1
Size: 116 x 135 after java.awt.event.ComponentEvent[COMPONENT_RESIZED (855,530 116x135)] on frame1
Size: 116 x 135 after java.awt.event.ComponentEvent[COMPONENT_RESIZED (855,530 116x135)] on frame1
Size: 116 x 135 after java.awt.event.ComponentEvent[COMPONENT_MOVED (855,530 116x135)] on frame1
Size: 116 x 135 after java.awt.event.ComponentEvent[COMPONENT_MOVED (855,530 116x135)] on frame1
Size: 116 x 135 after java.awt.event.ComponentEvent[COMPONENT_RESIZED (855,530 116x135)] on frame1
Size: 116 x 135 after java.awt.event.ComponentEvent[COMPONENT_MOVED (734,530 116x135)] on frame0
Size: 116 x 135 after java.awt.event.ComponentEvent[COMPONENT_MOVED (734,530 116x135)] on frame0



AWT thread: updated component sizes: java.awt.Dimension[width=116,height=162] <= java.awt.Dimension[width=116,height=162] <= java.awt.Dimension[width=0,height=2147483647]
AWT thread: updated component sizes: java.awt.Dimension[width=116,height=162] <= java.awt.Dimension[width=116,height=162] <= java.awt.Dimension[width=0,height=2147483647]
AWT->SWT thread: Laying out after size update
SWT thread: Computed size: 116 x 162 for javax.swing.JPanel[,0,0,116x135,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=8203,maximumSize=,minimumSize=,preferredSize=]
SWT thread: Computed size: 116 x 162 for javax.swing.JPanel[,0,0,116x135,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
SWT thread: setBounds called: 116 x 162
SWT thread: setBounds called: 116 x 162
SWT thread: Preparing to set size: 116 x 162 for javax.swing.JPanel[,0,0,116x135,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
AWT->SWT thread: Laying out after size update
SWT thread: Computed size: 116 x 162 for javax.swing.JPanel[,0,0,116x135,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
SWT thread: Computed size: 116 x 162 for javax.swing.JPanel[,0,0,116x135,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=8203,maximumSize=,minimumSize=,preferredSize=]
SWT->AWT thread: Setting size: 116 x 162 for javax.swing.JPanel[,0,0,116x135,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
AWT thread: updated component sizes: java.awt.Dimension[width=116,height=162] <= java.awt.Dimension[width=116,height=162] <= java.awt.Dimension[width=0,height=2147483647]
AWT thread: updated component sizes: java.awt.Dimension[width=116,height=162] <= java.awt.Dimension[width=116,height=162] <= java.awt.Dimension[width=0,height=2147483647]
Size: 116 x 162 after java.awt.event.ComponentEvent[COMPONENT_RESIZED (734,530 116x162)] on frame0
Size: 116 x 162 after java.awt.event.ComponentEvent[COMPONENT_RESIZED (0,0 116x162)] on frame1
Size: 116 x 162 after java.awt.event.ComponentEvent[COMPONENT_MOVED (0,0 116x162)] on frame1
Size: 116 x 162 after java.awt.event.ComponentEvent[COMPONENT_MOVED (855,516 116x162)] on frame1



AWT thread: updated component sizes: java.awt.Dimension[width=116,height=189] <= java.awt.Dimension[width=116,height=189] <= java.awt.Dimension[width=0,height=2147483647]
AWT->SWT thread: Laying out after size update
SWT thread: Computed size: 116 x 189 for javax.swing.JPanel[,0,0,116x162,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
SWT thread: Computed size: 116 x 162 for javax.swing.JPanel[,0,0,116x162,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
AWT thread: updated component sizes: java.awt.Dimension[width=116,height=189] <= java.awt.Dimension[width=116,height=189] <= java.awt.Dimension[width=0,height=2147483647]
SWT thread: setBounds called: 116 x 189
SWT thread: setBounds called: 116 x 162
SWT thread: Preparing to set size: 116 x 162 for javax.swing.JPanel[,0,0,116x162,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
SWT->AWT thread: Setting size: 116 x 162 for javax.swing.JPanel[,0,0,116x162,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
AWT thread: updated component sizes: java.awt.Dimension[width=116,height=189] <= java.awt.Dimension[width=116,height=189] <= java.awt.Dimension[width=0,height=2147483647]
Size: 116 x 189 after java.awt.event.ComponentEvent[COMPONENT_RESIZED (734,530 116x189)] on frame0
Size: 116 x 162 after java.awt.event.ComponentEvent[COMPONENT_MOVED (0,0 116x162)] on frame1
AWT->SWT thread: Laying out after size update
SWT thread: Computed size: 116 x 189 for javax.swing.JPanel[,0,0,116x189,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
SWT thread: Computed size: 116 x 189 for javax.swing.JPanel[,0,0,116x162,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
Size: 116 x 162 after java.awt.event.ComponentEvent[COMPONENT_MOVED (855,516 116x162)] on frame1
SWT thread: Uninitialized AWT sizes for javax.swing.JPanel[,0,0,0x0,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
SWT thread: Uninitialized AWT sizes for javax.swing.JPanel[,0,0,0x0,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
SWT thread: setBounds called: 64 x 64
SWT thread: Preparing to set size: 64 x 64 for javax.swing.JPanel[,0,0,0x0,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
SWT thread: setBounds called: 64 x 64
SWT thread: Preparing to set size: 64 x 64 for javax.swing.JPanel[,0,0,0x0,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
AWT thread: updated component sizes: java.awt.Dimension[width=116,height=135] <= java.awt.Dimension[width=116,height=135] <= java.awt.Dimension[width=0,height=2147483647]
AWT->SWT thread: Laying out after size update
SWT thread: Computed size: 116 x 135 for javax.swing.JPanel[,0,0,0x0,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
SWT thread: Uninitialized AWT sizes for javax.swing.JPanel[,0,0,0x0,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
SWT thread: setBounds called: 116 x 135
SWT thread: Preparing to set size: 116 x 135 for javax.swing.JPanel[,0,0,0x0,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
SWT thread: setBounds called: 64 x 64
SWT thread: Preparing to set size: 64 x 64 for javax.swing.JPanel[,0,0,0x0,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
AWT thread: updated component sizes: java.awt.Dimension[width=116,height=135] <= java.awt.Dimension[width=116,height=135] <= java.awt.Dimension[width=0,height=2147483647]
SWT->AWT thread: Setting size: 64 x 64 for javax.swing.JPanel[,0,0,0x0,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
AWT->SWT thread: Laying out after size update
SWT thread: Computed size: 116 x 135 for javax.swing.JPanel[,0,0,0x0,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
SWT thread: Computed size: 116 x 135 for javax.swing.JPanel[,0,0,0x0,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
AWT thread: updated component sizes: java.awt.Dimension[width=116,height=135] <= java.awt.Dimension[width=116,height=135] <= java.awt.Dimension[width=0,height=2147483647]
SWT thread: setBounds called: 116 x 135
SWT thread: Preparing to set size: 116 x 135 for javax.swing.JPanel[,0,0,64x64,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
SWT thread: setBounds called: 116 x 135
SWT thread: Preparing to set size: 116 x 135 for javax.swing.JPanel[,0,0,0x0,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
Size: 64 x 64 after java.awt.event.ComponentEvent[COMPONENT_RESIZED (0,0 64x64)] on frame0
SWT->AWT thread: Setting size: 64 x 64 for javax.swing.JPanel[,0,0,0x0,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
AWT thread: updated component sizes: java.awt.Dimension[width=116,height=135] <= java.awt.Dimension[width=116,height=135] <= java.awt.Dimension[width=0,height=2147483647]
Size: 64 x 64 after java.awt.event.ComponentEvent[COMPONENT_RESIZED (0,0 64x64)] on frame1
Size: 64 x 64 after java.awt.event.ComponentEvent[COMPONENT_RESIZED (0,0 64x64)] on frame0
Size: 64 x 64 after java.awt.event.ComponentEvent[COMPONENT_RESIZED (0,0 64x64)] on frame1
Size: 116 x 135 after java.awt.event.ComponentEvent[COMPONENT_RESIZED (0,0 116x135)] on frame1
Size: 64 x 64 after java.awt.event.ComponentEvent[COMPONENT_RESIZED (0,0 64x64)] on frame0
Size: 64 x 64 after java.awt.event.ComponentEvent[COMPONENT_RESIZED (0,0 64x64)] on frame0
AWT thread: updated component sizes: java.awt.Dimension[width=116,height=135] <= java.awt.Dimension[width=116,height=135] <= java.awt.Dimension[width=0,height=2147483647]
Size: 116 x 135 after java.awt.event.ComponentEvent[COMPONENT_RESIZED (855,530 116x135)] on frame1
Size: 116 x 135 after java.awt.event.ComponentEvent[COMPONENT_RESIZED (855,530 116x135)] on frame1
Size: 116 x 135 after java.awt.event.ComponentEvent[COMPONENT_RESIZED (855,530 116x135)] on frame1
Size: 116 x 135 after java.awt.event.ComponentEvent[COMPONENT_MOVED (734,530 116x135)] on frame0
AWT thread: updated component sizes: java.awt.Dimension[width=116,height=135] <= java.awt.Dimension[width=116,height=135] <= java.awt.Dimension[width=0,height=2147483647]
Size: 116 x 135 after java.awt.event.ComponentEvent[COMPONENT_RESIZED (734,530 116x135)] on frame0
Size: 116 x 135 after java.awt.event.ComponentEvent[COMPONENT_MOVED (855,530 116x135)] on frame1


AWT thread: updated component sizes: java.awt.Dimension[width=116,height=162] <= java.awt.Dimension[width=116,height=162] <= java.awt.Dimension[width=0,height=2147483647]
AWT thread: updated component sizes: java.awt.Dimension[width=116,height=162] <= java.awt.Dimension[width=116,height=162] <= java.awt.Dimension[width=0,height=2147483647]
AWT->SWT thread: Laying out after size update
SWT thread: Computed size: 116 x 162 for javax.swing.JPanel[,0,0,116x135,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
SWT thread: Computed size: 116 x 162 for javax.swing.JPanel[,0,0,116x135,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
SWT thread: setBounds called: 116 x 162
SWT thread: Preparing to set size: 116 x 162 for javax.swing.JPanel[,0,0,116x135,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
SWT thread: setBounds called: 116 x 162
SWT thread: Preparing to set size: 116 x 162 for javax.swing.JPanel[,0,0,116x135,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
AWT thread: updated component sizes: java.awt.Dimension[width=116,height=162] <= java.awt.Dimension[width=116,height=162] <= java.awt.Dimension[width=0,height=2147483647]
Size: 116 x 162 after java.awt.event.ComponentEvent[COMPONENT_RESIZED (734,530 116x162)] on frame0
AWT->SWT thread: Laying out after size update
SWT thread: Computed size: 116 x 162 for javax.swing.JPanel[,0,0,116x162,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=11,maximumSize=,minimumSize=,preferredSize=]
SWT thread: Computed size: 116 x 162 for javax.swing.JPanel[,0,0,116x135,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
AWT thread: updated component sizes: java.awt.Dimension[width=116,height=162] <= java.awt.Dimension[width=116,height=162] <= java.awt.Dimension[width=0,height=2147483647]
Size: 116 x 162 after java.awt.event.ComponentEvent[COMPONENT_RESIZED (855,530 116x162)] on frame1


AWT thread: updated component sizes: java.awt.Dimension[width=116,height=189] <= java.awt.Dimension[width=116,height=189] <= java.awt.Dimension[width=0,height=2147483647]
AWT->SWT thread: Laying out after size update
SWT thread: Computed size: 116 x 189 for javax.swing.JPanel[,0,0,116x162,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
SWT thread: Computed size: 116 x 162 for javax.swing.JPanel[,0,0,116x162,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
SWT thread: setBounds called: 116 x 189
SWT thread: Preparing to set size: 116 x 189 for javax.swing.JPanel[,0,0,116x162,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
AWT thread: updated component sizes: java.awt.Dimension[width=116,height=189] <= java.awt.Dimension[width=116,height=189] <= java.awt.Dimension[width=0,height=2147483647]
SWT thread: setBounds called: 116 x 162
SWT thread: Preparing to set size: 116 x 162 for javax.swing.JPanel[,0,0,116x162,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=8203,maximumSize=,minimumSize=,preferredSize=]
AWT->SWT thread: Laying out after size update
SWT thread: Computed size: 116 x 189 for javax.swing.JPanel[,0,0,116x162,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=8203,maximumSize=,minimumSize=,preferredSize=]
SWT thread: Computed size: 116 x 189 for javax.swing.JPanel[,0,0,116x162,layout=java.awt.GridLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
AWT thread: updated component sizes: java.awt.Dimension[width=116,height=189] <= java.awt.Dimension[width=116,height=189] <= java.awt.Dimension[width=0,height=2147483647]
Size: 116 x 189 after java.awt.event.ComponentEvent[COMPONENT_RESIZED (734,530 116x189)] on frame0

Back to the top