T
void arrange(final JDesktopPane pane, imt xoff, int yoff, final Dimension dim)
{
final JInternalFrame[] frames = pane.getAllFrames();
for(int i = 0; i < frames.length; ++i)
{
frames[i].resize(dim);
frames[i].setLocation(new Dimension(i * xoff, i * yoff));
}
}
void cascade(final JDesktopPane pane)
{
arrange(pane, 30, 30, new Dimension(400, 300));
}
void tileH(final JDesktopPane pane)
{
final int width = pane.getWidth() / pane.getAllFrames().length;
arrange(pane, width, 0, new Dimension(width, pane.getHeight()));
}
void tileV(final JDesktopPane pane)
{
final int height = pane.getHeight() / pane.getAllFrames().length;
arrange(pane, 0, height, new Dimension(pane.getWidth(), height));
}
zum beispiel so (ungetestet). wobei es wohl schlauer wäre, die interne größe des panes zu nehmen. die ist nur komplizierter zu besorgen.