The JScrollDesktopPane swing component for Java provides
a virtual desktop replete with dynamic scroll bars, dynamic
menus, and dynamic button shortcuts.
The JDesktopPane class, first introduced in JDK 1.2 as a subsidiary to Swing's GUI component series, lets you create a virtual desktop or Multiple Document Interface (MDI) in Java applications. JInternalFrame's various child windows or internal frames populate this desktop, and because those frames are internal, they are clipped at the boundary of the JDesktopPane container class (as opposed to JFrame's external frames, which are painted without regard to container boundaries).
A user cannot view an internal frame's hidden portion without dragging the frame back within the virtual desktop boundary, or resizing the JDesktopPane container itself. Needless to say, such actions are not conducive to navigability and usability.
JDesktopPane's second limitation is that it doesn't provide a simple method to switch between internal frames; instead, you must click upon the frame title bar. Should internal frames obscure one another, the user must drag each frame aside before the next one becomes accessible. This work becomes tedious if several internal frames overlap, as is possible in any MDI environment.
The JScrollDesktopPane class offered by this project offers a solution to the aforementioned clipping and overlap problems, and mimics the interface of the original JDesktopPane class to provide an easy upgrade path.
It provides a scrolling MDI desktop, one of the most requested features to the java JDK.
JScrollDesktopPane has been tested under Java 2 JDK versions 1.3.1-b24 on Linux and jdk1.3.0_02 on Windows and Intel Solaris. As of March 14, 2003 it has also been tested on JDK 1.4.1 for Windows.