/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package open.dolphin.utilities.common; import javax.swing.DefaultDesktopManager; import javax.swing.JComponent; import javax.swing.JInternalFrame; import javax.swing.event.InternalFrameEvent; import javax.swing.event.InternalFrameListener; /** * * @author oh */ public class MDIEvent { InternalFrameListenerEx listener; DesktopManagerEx manager; public MDIEvent() { listener = null; manager = null; } public InternalFrameListener getListener() { if(listener == null) { listener = new InternalFrameListenerEx(); } return listener; } public DefaultDesktopManager getManager() { if(manager == null) { manager = new DesktopManagerEx(); } return manager; } public static void main(String[] args) { new MDIEvent(); } } class InternalFrameListenerEx implements InternalFrameListener { InternalFrameListenerEx() { } @Override public void internalFrameOpened(InternalFrameEvent e) { JInternalFrame f = e.getInternalFrame(); System.out.println(f.getTitle() + " internalFrameOpened"); } @Override public void internalFrameClosing(InternalFrameEvent e) { JInternalFrame f = e.getInternalFrame(); System.out.println(f.getTitle() + " internalFrameClosing"); } @Override public void internalFrameClosed(InternalFrameEvent e) { JInternalFrame f = e.getInternalFrame(); System.out.println(f.getTitle() + " internalFrameClosed"); } @Override public void internalFrameIconified(InternalFrameEvent e) { JInternalFrame f = e.getInternalFrame(); System.out.println(f.getTitle() + " internalFrameIconified"); } @Override public void internalFrameDeiconified(InternalFrameEvent e) { JInternalFrame f = e.getInternalFrame(); System.out.println(f.getTitle() + " internalFrameDeiconified"); } @Override public void internalFrameActivated(InternalFrameEvent e) { JInternalFrame f = e.getInternalFrame(); System.out.println(f.getTitle() + " internalFrameActivated"); } @Override public void internalFrameDeactivated(InternalFrameEvent e) { JInternalFrame f = e.getInternalFrame(); System.out.println(f.getTitle() + " internalFrameDeactivated"); } } class DesktopManagerEx extends DefaultDesktopManager { DesktopManagerEx() { } @Override public void openFrame(JInternalFrame f) { System.out.println("openFrame " + f.getTitle()); super.openFrame(f); } @Override public void closeFrame(JInternalFrame f) { System.out.println("closeFrame " + f.getTitle()); super.closeFrame(f); } @Override public void maximizeFrame(JInternalFrame f) { System.out.println("maximizeFrame " + f.getTitle()); super.maximizeFrame(f); } @Override public void minimizeFrame(JInternalFrame f) { System.out.println("minimizeFrame " + f.getTitle()); super.minimizeFrame(f); } @Override public void iconifyFrame(JInternalFrame f) { System.out.println("iconifyFrame " + f.getTitle()); super.iconifyFrame(f); } @Override public void deiconifyFrame(JInternalFrame f) { System.out.println("deiconifyFrame " + f.getTitle()); super.deiconifyFrame(f); } @Override public void activateFrame(JInternalFrame f) { System.out.println("activateFrame " + f.getTitle()); super.activateFrame(f); } @Override public void deactivateFrame(JInternalFrame f) { System.out.println("deactivateFrame " + f.getTitle()); super.deactivateFrame(f); } @Override public void beginDraggingFrame(JComponent c) { JInternalFrame f = null; if(c instanceof JInternalFrame.JDesktopIcon) { f = ((JInternalFrame.JDesktopIcon)c).getInternalFrame(); }else{ f = (JInternalFrame)c; } System.out.println("beginDraggingFrame " + f.getTitle()); super.beginDraggingFrame(c); } @Override public void dragFrame(JComponent c, int newX, int newY) { JInternalFrame f = null; if(c instanceof JInternalFrame.JDesktopIcon) { f = ((JInternalFrame.JDesktopIcon)c).getInternalFrame(); }else{ f = (JInternalFrame)c; } System.out.println("dragFrame " + f.getTitle() + " " + newX + " " + newY); super.dragFrame(c, newX, newY); } @Override public void endDraggingFrame(JComponent c) { JInternalFrame f = null; if(c instanceof JInternalFrame.JDesktopIcon) { f = ((JInternalFrame.JDesktopIcon)c).getInternalFrame(); }else{ f = (JInternalFrame)c; } System.out.println("endDraggingFrame " + f.getTitle()); super.endDraggingFrame(c); } @Override public void beginResizingFrame(JComponent c, int direction) { JInternalFrame f = (JInternalFrame)c; System.out.println("beginResizingFrame " + f.getTitle() + " " + direction); super.beginResizingFrame(c, direction); } @Override public void resizeFrame(JComponent c, int newX, int newY, int newW, int newH) { JInternalFrame f = (JInternalFrame)c; System.out.println("resizeFrame " + f.getTitle() + " " + newX + " " + newY + " " + newW + " " + newH); super.resizeFrame(f, newX, newY, newW, newH); } @Override public void endResizingFrame(JComponent c) { JInternalFrame f = (JInternalFrame)c; System.out.println("endResizingFrame " + f.getTitle()); super.endResizingFrame(f); } @Override public void setBoundsForFrame(JComponent c, int newX, int newY, int newW, int newH) { JInternalFrame f = null; if(c instanceof JInternalFrame.JDesktopIcon) { JInternalFrame.JDesktopIcon icon = (JInternalFrame.JDesktopIcon)c; f = icon.getInternalFrame(); System.out.println("setBoundsForFrame(icon) " + f.getTitle() + " " + newX + " " + newY + " " + newW + " " + newH); }else{ f = (JInternalFrame)c; System.out.println("setBoundsForFrame " + f.getTitle() + " " + newX + " " + newY + " " + newW + " " + newH); } super.setBoundsForFrame(c, newX, newY, newW, newH); } }