Java Reference
In-Depth Information
mrh [y] = Math.max (mrh [y], ms.height);
}
sum.height += mrh [y];
}
for (int x = 0; x < cols; x++)
sum.width += mcw [x];
return sum;
}
int getRowCount (Container container) {
return (container.getComponentCount() + cols - 1) / cols;
}
public Dimension minimumLayoutSize (Container container) {
Insets insets = container.getInsets();
int rows = getRowCount (container);
Dimension result = getMinimumSizes
(container, new int [cols], new int [rows]);
result.width += cols - 1 + insets.left + insets.right;
result.height += rows - 1 + insets.top + insets.bottom;
return result;
}
public Dimension preferredLayoutSize (Container container) {
return minimumLayoutSize (container);
}
public void layoutContainer (Container container) {
int count = container.getComponentCount();
int rows = getRowCount (container);
if (count == 0) return;
Insets insets = container.getInsets();
Dimension size = container.getSize();
int x0 = insets.left;
int y0 = insets.top;
int w0 = size.width - x0 - insets.right;
int h0 = size.height - y0 - insets.bottom;
int [] mcw = new int [cols];
int [] mrh = new int [rows];
Dimension min = getMinimumSizes (container, mcw, mrh);
// calculate a scale factor
int scx = ((w0-cols+1) << 8) / min.width;
int scy = ((h0-rows+1) << 8) / min.height;
int i = 0;
for (int y = 0; y < rows; y++) {
Search WWH ::




Custom Search