JDesktopPane placement

2019-07-02 08:49发布

问题:

I have a JDesktopPane and want to display JInternalFrames in a grid style without overlaying frames. The dymensions of the frames will vary so their location should be assigned dynamically. I could store the coordinates of the last placed frame but frames can be moved, minimized or closed.. Is their an easy way of placing internal frames in a tidy way? e.g., using a Layout?

回答1:

Here's an example that may offer some guidance. It uses setLocation() and an offset.



回答2:

The DesktopManager class is responsible for managing the internal frames.

You should be able to override the openFrame() method to initially position the frame when it is added to the desktop.

There are also methods on dragging that you might be able to override to prevent the overlapping of frames.