public interface DesktopManager {
public void activateFrame(JInternalFrame frame);
public void beginDraggingFrame(JComponent frame);
public void beginResizingFrame(JComponent frame, int direction);
public void closeFrame(JInternalFrame frame);
public void deactivateFrame(JInternalFrame frame);
public void deiconifyFrame(JInternalFrame frame);
public void dragFrame(JComponent frame, int newX, int newY);
public void endDraggingFrame(JComponent frame);
public void endResizingFrame(JComponent frame);
public void iconifyFrame(JInternalFrame frame);
public void maximizeFrame(JInternalFrame frame);
public void minimizeFrame(JInternalFrame frame);
public void openFrame(JInternalFrame frame);
public void resizeFrame(JComponent frame, int newX, int newY, int newWidth, int newHeight);
public void setBoundsForFrame(JComponent frame, int newX, int newY, int newWidth, int newHeight);
}
import java.awt.BorderLayout;
import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
public class IconfyInternalFrame {
public static void main(final String[] args) {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JDesktopPane desktop = new JDesktopPane();
JInternalFrame internalFrame = new JInternalFrame("Can Do All", true, true, true, true);
desktop.add(internalFrame);
internalFrame.setBounds(25, 25, 200, 100);
JLabel label = new JLabel(internalFrame.getTitle(), JLabel.CENTER);
internalFrame.add(label, BorderLayout.CENTER);
internalFrame.setVisible(true);
desktop.getDesktopManager().maximizeFrame(internalFrame);
frame.add(desktop, BorderLayout.CENTER);
frame.setSize(500, 300);
frame.setVisible(true);
}
}