package com.revolsys.swing.map.border; import java.awt.Component; import java.awt.Container; import java.awt.Dimension; import java.awt.Insets; import java.awt.LayoutManager; public class FullSizeLayoutManager implements LayoutManager { @Override public void addLayoutComponent(final String name, final Component comp) { } @Override public void layoutContainer(final Container parent) { final Insets insets = parent.getInsets(); final int x = insets.top; final int y = insets.left; final int width = parent.getWidth() - insets.right - x; final int height = parent.getHeight() - insets.bottom - y; for (final Component component : parent.getComponents()) { component.setBounds(x, y, width, height); } } @Override public Dimension minimumLayoutSize(final Container parent) { int maxWidth = 0; int maxHeight = 0; for (final Component component : parent.getComponents()) { final Dimension minimum = component.getMinimumSize(); final int width = minimum.width; if (width > maxWidth) { maxWidth = width; } final int height = minimum.height; if (height > maxHeight) { maxHeight = height; } } return new Dimension(maxWidth, maxHeight); } @Override public Dimension preferredLayoutSize(final Container parent) { int maxWidth = 0; int maxHeight = 0; for (final Component component : parent.getComponents()) { final Dimension minimum = component.getPreferredSize(); final int width = minimum.width; if (width > maxWidth) { maxWidth = width; } final int height = minimum.height; if (height > maxHeight) { maxHeight = height; } } return new Dimension(maxWidth, maxHeight); } @Override public void removeLayoutComponent(final Component comp) { } }