/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package open.dolphin.utilities.control;
import java.awt.Color;
import java.beans.PropertyVetoException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import open.dolphin.utilities.common.MDIEvent;
/**
*
* @author oh
*/
public class MDI {
JDesktopPane desktop;
MDIEvent event;
int childCount;
public MDI() {
childCount = 1;
}
public void createDesktopPane() {
desktop = new JDesktopPane();
desktop.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);
desktop.setBackground(Color.GRAY);
event = new MDIEvent();
desktop.setDesktopManager(event.getManager());
}
public void createChildFrame(String title, int x, int y, int width, int height) {
JInternalFrame child = new JInternalFrame(title, true, true, true, true);
child.setSize(width, height);
child.setLocation(x, y);
desktop.add(child, new Integer(childCount));
childCount += 1;
if(event != null) child.addInternalFrameListener(event.getListener());
child.setVisible(true);
try {
child.setSelected(true);
} catch (PropertyVetoException ex) {
Logger.getLogger(MDI.class.getName()).log(Level.SEVERE, null, ex);
}
}
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setTitle("TestFrame");
frame.setSize(500, 500);
MDI mdi = new MDI();
mdi.createDesktopPane();
mdi.createChildFrame("Test", 0, 0, 200, 100);
frame.setVisible(true);
}
}