home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 2000 March / pcp161a.iso / handson / files / copyjava.exe / com / sun / java / swing / JInternalFrame.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-02-26  |  16.9 KB  |  756 lines

  1. package com.sun.java.swing;
  2.  
  3. import com.sun.java.accessibility.Accessible;
  4. import com.sun.java.accessibility.AccessibleContext;
  5. import com.sun.java.swing.event.InternalFrameEvent;
  6. import com.sun.java.swing.event.InternalFrameListener;
  7. import com.sun.java.swing.plaf.InternalFrameUI;
  8. import java.awt.AWTEvent;
  9. import java.awt.BorderLayout;
  10. import java.awt.Color;
  11. import java.awt.Component;
  12. import java.awt.Container;
  13. import java.awt.Dimension;
  14. import java.awt.EventQueue;
  15. import java.awt.LayoutManager;
  16. import java.awt.MenuComponent;
  17. import java.awt.Point;
  18. import java.awt.Toolkit;
  19. import java.awt.event.ComponentEvent;
  20. import java.awt.event.ComponentListener;
  21. import java.awt.event.InputEvent;
  22. import java.awt.event.MouseEvent;
  23. import java.awt.event.MouseListener;
  24. import java.awt.event.MouseMotionListener;
  25. import java.awt.peer.LightweightPeer;
  26. import java.beans.PropertyVetoException;
  27. import java.util.EventObject;
  28.  
  29. public class JInternalFrame extends JComponent implements Accessible, MouseListener, MouseMotionListener, WindowConstants, RootPaneContainer, ComponentListener {
  30.    protected JRootPane rootPane;
  31.    protected boolean rootPaneCheckingEnabled;
  32.    protected boolean closable;
  33.    protected boolean isClosed;
  34.    protected boolean maximizable;
  35.    protected boolean isMaximum;
  36.    protected boolean iconable;
  37.    protected boolean isIcon;
  38.    protected boolean resizable;
  39.    protected boolean isSelected;
  40.    protected Icon frameIcon;
  41.    protected String title;
  42.    protected JDesktopIcon desktopIcon;
  43.    transient InternalFrameListener internalFrameListener;
  44.    private boolean opened;
  45.    private int defaultCloseOperation;
  46.    public static final String CONTENT_PANE_PROPERTY = "contentPane";
  47.    public static final String MENU_BAR_PROPERTY = "menuBar";
  48.    public static final String TITLE_PROPERTY = "title";
  49.    public static final String LAYERED_PANE_PROPERTY = "layeredPane";
  50.    public static final String ROOT_PANE_PROPERTY = "rootPane";
  51.    public static final String GLASS_PANE_PROPERTY = "glassPane";
  52.    public static final String IS_SELECTED_PROPERTY = "isSelected";
  53.    public static final String IS_CLOSED_PROPERTY = "isClosed";
  54.    public static final String IS_MAXIMUM_PROPERTY = "isMaximum";
  55.    public static final String IS_ICON_PROPERTY = "isIcon";
  56.    private Component mouseEventTarget;
  57.    // $FF: synthetic field
  58.    static Class class$com$sun$java$swing$JInternalFrame;
  59.  
  60.    public JInternalFrame() {
  61.       this("", false, false, false, false);
  62.    }
  63.  
  64.    public JInternalFrame(String var1) {
  65.       this(var1, false, false, false, false);
  66.    }
  67.  
  68.    public JInternalFrame(String var1, boolean var2) {
  69.       this(var1, var2, false, false, false);
  70.    }
  71.  
  72.    public JInternalFrame(String var1, boolean var2, boolean var3) {
  73.       this(var1, var2, var3, false, false);
  74.    }
  75.  
  76.    public JInternalFrame(String var1, boolean var2, boolean var3, boolean var4) {
  77.       this(var1, var2, var3, var4, false);
  78.    }
  79.  
  80.    public JInternalFrame(String var1, boolean var2, boolean var3, boolean var4, boolean var5) {
  81.       this.rootPaneCheckingEnabled = false;
  82.       this.defaultCloseOperation = 1;
  83.       this.setRootPane(this.createRootPane());
  84.       this.setLayout(new BorderLayout());
  85.       this.title = var1;
  86.       this.resizable = var2;
  87.       this.closable = var3;
  88.       this.maximizable = var4;
  89.       this.isMaximum = false;
  90.       this.iconable = var5;
  91.       this.isIcon = false;
  92.       this.updateUI();
  93.       this.setRootPaneCheckingEnabled(true);
  94.       this.desktopIcon = new JDesktopIcon(this);
  95.       if (((Component)this).isVisible()) {
  96.          this.postInternalFrameEvent(25549);
  97.          this.opened = true;
  98.       }
  99.  
  100.    }
  101.  
  102.    protected JRootPane createRootPane() {
  103.       return new JRootPane();
  104.    }
  105.  
  106.    public InternalFrameUI getUI() {
  107.       return (InternalFrameUI)super.ui;
  108.    }
  109.  
  110.    public void setUI(InternalFrameUI var1) {
  111.       boolean var2 = this.isRootPaneCheckingEnabled();
  112.  
  113.       try {
  114.          this.setRootPaneCheckingEnabled(false);
  115.          super.setUI(var1);
  116.       } finally {
  117.          this.setRootPaneCheckingEnabled(var2);
  118.       }
  119.  
  120.    }
  121.  
  122.    public void updateUI() {
  123.       this.setUI((InternalFrameUI)UIManager.getUI(this));
  124.       ((Container)this).invalidate();
  125.       if (this.desktopIcon != null) {
  126.          this.desktopIcon.updateUIWhenHidden();
  127.       }
  128.  
  129.    }
  130.  
  131.    void updateUIWhenHidden() {
  132.       this.setUI((InternalFrameUI)UIManager.getUI(this));
  133.       ((Container)this).invalidate();
  134.       Component[] var1 = ((Container)this).getComponents();
  135.       if (var1 != null) {
  136.          for(int var2 = 0; var2 < var1.length; ++var2) {
  137.             SwingUtilities.updateComponentTreeUI(var1[var2]);
  138.          }
  139.       }
  140.  
  141.    }
  142.  
  143.    public String getUIClassID() {
  144.       return "InternalFrameUI";
  145.    }
  146.  
  147.    protected boolean isRootPaneCheckingEnabled() {
  148.       return this.rootPaneCheckingEnabled;
  149.    }
  150.  
  151.    protected void setRootPaneCheckingEnabled(boolean var1) {
  152.       this.rootPaneCheckingEnabled = var1;
  153.    }
  154.  
  155.    private Error createRootPaneException(String var1) {
  156.       String var2 = this.getClass().getName();
  157.       return new Error("Do not use " + var2 + "." + var1 + "() use " + var2 + ".getContentPane()." + var1 + "() instead");
  158.    }
  159.  
  160.    protected void addImpl(Component var1, Object var2, int var3) {
  161.       if (this.isRootPaneCheckingEnabled()) {
  162.          throw this.createRootPaneException("add");
  163.       } else {
  164.          super.addImpl(var1, var2, var3);
  165.       }
  166.    }
  167.  
  168.    public void setLayout(LayoutManager var1) {
  169.       if (this.isRootPaneCheckingEnabled()) {
  170.          throw this.createRootPaneException("setLayout");
  171.       } else {
  172.          super.setLayout(var1);
  173.       }
  174.    }
  175.  
  176.    public JMenuBar getMenuBar() {
  177.       return this.getRootPane().getMenuBar();
  178.    }
  179.  
  180.    public void setMenuBar(JMenuBar var1) {
  181.       JMenuBar var2 = this.getMenuBar();
  182.       this.getRootPane().setMenuBar(var1);
  183.       ((JComponent)this).firePropertyChange("menuBar", var2, var1);
  184.    }
  185.  
  186.    public Container getContentPane() {
  187.       return this.getRootPane().getContentPane();
  188.    }
  189.  
  190.    public void setContentPane(Container var1) {
  191.       Container var2 = this.getContentPane();
  192.       this.getRootPane().setContentPane(var1);
  193.       ((JComponent)this).firePropertyChange("contentPane", var2, var1);
  194.    }
  195.  
  196.    public JLayeredPane getLayeredPane() {
  197.       return this.getRootPane().getLayeredPane();
  198.    }
  199.  
  200.    public void setLayeredPane(JLayeredPane var1) {
  201.       JLayeredPane var2 = this.getLayeredPane();
  202.       this.getRootPane().setLayeredPane(var1);
  203.       ((JComponent)this).firePropertyChange("layeredPane", var2, var1);
  204.    }
  205.  
  206.    public Component getGlassPane() {
  207.       return this.getRootPane().getGlassPane();
  208.    }
  209.  
  210.    public void setGlassPane(Component var1) {
  211.       Component var2 = this.getGlassPane();
  212.       this.getRootPane().setGlassPane(var1);
  213.       ((JComponent)this).firePropertyChange("glassPane", var2, var1);
  214.    }
  215.  
  216.    public JRootPane getRootPane() {
  217.       return this.rootPane;
  218.    }
  219.  
  220.    protected void setRootPane(JRootPane var1) {
  221.       if (this.rootPane != null) {
  222.          ((Container)this).remove(this.rootPane);
  223.       }
  224.  
  225.       JRootPane var2 = this.getRootPane();
  226.       this.rootPane = var1;
  227.       if (this.rootPane != null) {
  228.          boolean var3 = this.isRootPaneCheckingEnabled();
  229.  
  230.          try {
  231.             this.setRootPaneCheckingEnabled(false);
  232.             ((Container)this).add(this.rootPane, "Center");
  233.          } finally {
  234.             this.setRootPaneCheckingEnabled(var3);
  235.          }
  236.       }
  237.  
  238.       ((JComponent)this).firePropertyChange("rootPane", var2, var1);
  239.    }
  240.  
  241.    public void setVisible(boolean var1) {
  242.       super.setVisible(var1);
  243.       if (!this.opened) {
  244.          this.postInternalFrameEvent(25549);
  245.          this.opened = true;
  246.       }
  247.  
  248.    }
  249.  
  250.    public void setClosable(boolean var1) {
  251.       this.closable = var1;
  252.    }
  253.  
  254.    public boolean isClosable() {
  255.       return this.closable;
  256.    }
  257.  
  258.    public boolean isClosed() {
  259.       return this.isClosed;
  260.    }
  261.  
  262.    public void setClosed(boolean var1) throws PropertyVetoException {
  263.       if (this.isClosed != var1) {
  264.          Boolean var2 = this.isClosed ? Boolean.TRUE : Boolean.FALSE;
  265.          Boolean var3 = var1 ? Boolean.TRUE : Boolean.FALSE;
  266.          ((JComponent)this).fireVetoableChange("isClosed", var2, var3);
  267.          this.isClosed = var1;
  268.          if (this.isClosed) {
  269.             synchronized(this){}
  270.  
  271.             try {
  272.                if (this.internalFrameListener != null) {
  273.                   InternalFrameEvent var6 = new InternalFrameEvent(this, 25551);
  274.                   ((Component)this).dispatchEvent(var6);
  275.                }
  276.             } catch (Throwable var8) {
  277.                throw var8;
  278.             }
  279.  
  280.             this.opened = false;
  281.          } else if (!this.opened) {
  282.             this.postInternalFrameEvent(25549);
  283.             this.opened = true;
  284.          }
  285.  
  286.          ((JComponent)this).firePropertyChange("isClosed", var2, var3);
  287.       }
  288.    }
  289.  
  290.    public void setResizable(boolean var1) {
  291.       this.resizable = var1;
  292.    }
  293.  
  294.    public boolean isResizable() {
  295.       return this.isMaximum ? false : this.resizable;
  296.    }
  297.  
  298.    public void setIconifiable(boolean var1) {
  299.       this.iconable = var1;
  300.    }
  301.  
  302.    public boolean isIconifiable() {
  303.       return this.iconable;
  304.    }
  305.  
  306.    public boolean isIcon() {
  307.       return this.isIcon;
  308.    }
  309.  
  310.    public void setIcon(boolean var1) throws PropertyVetoException {
  311.       if (this.isIcon != var1) {
  312.          Boolean var2 = this.isIcon ? Boolean.TRUE : Boolean.FALSE;
  313.          Boolean var3 = var1 ? Boolean.TRUE : Boolean.FALSE;
  314.          ((JComponent)this).fireVetoableChange("isIcon", var2, var3);
  315.          this.isIcon = var1;
  316.          ((JComponent)this).firePropertyChange("isIcon", var2, var3);
  317.          this.postInternalFrameEvent(var1 ? 25552 : 25553);
  318.       }
  319.    }
  320.  
  321.    public void setMaximizable(boolean var1) {
  322.       this.maximizable = var1;
  323.    }
  324.  
  325.    public boolean isMaximizable() {
  326.       return this.maximizable;
  327.    }
  328.  
  329.    public boolean isMaximum() {
  330.       return this.isMaximum;
  331.    }
  332.  
  333.    public void setMaximum(boolean var1) throws PropertyVetoException {
  334.       if (this.isMaximum != var1) {
  335.          Boolean var2 = this.isMaximum ? Boolean.TRUE : Boolean.FALSE;
  336.          Boolean var3 = var1 ? Boolean.TRUE : Boolean.FALSE;
  337.          ((JComponent)this).fireVetoableChange("isMaximum", var2, var3);
  338.          this.isMaximum = var1;
  339.          if (var1) {
  340.             this.getDesktopPane().addComponentListener(this);
  341.          } else {
  342.             JDesktopPane var4 = this.getDesktopPane();
  343.             if (var4 != null) {
  344.                ((Component)var4).removeComponentListener(this);
  345.             }
  346.          }
  347.  
  348.          ((JComponent)this).firePropertyChange("isMaximum", var2, var3);
  349.       }
  350.    }
  351.  
  352.    public String getTitle() {
  353.       return this.title;
  354.    }
  355.  
  356.    public void setTitle(String var1) {
  357.       String var2 = this.title;
  358.       this.title = var1;
  359.       ((JComponent)this).firePropertyChange("title", var2, var1);
  360.    }
  361.  
  362.    public void setSelected(boolean var1) throws PropertyVetoException {
  363.       if (this.isSelected != var1) {
  364.          Boolean var2 = this.isSelected ? Boolean.TRUE : Boolean.FALSE;
  365.          Boolean var3 = var1 ? Boolean.TRUE : Boolean.FALSE;
  366.          ((JComponent)this).fireVetoableChange("isSelected", var2, var3);
  367.          this.isSelected = var1;
  368.          Component var4 = this.getGlassPane();
  369.          if (this.isSelected) {
  370.             var4.removeMouseListener(this);
  371.             var4.removeMouseMotionListener(this);
  372.             var4.setVisible(false);
  373.          } else {
  374.             var4.addMouseListener(this);
  375.             var4.addMouseMotionListener(this);
  376.             var4.setVisible(true);
  377.          }
  378.  
  379.          ((JComponent)this).firePropertyChange("isSelected", var2, var3);
  380.          this.postInternalFrameEvent(this.isSelected ? 25554 : 25555);
  381.          ((Component)this).repaint();
  382.       }
  383.    }
  384.  
  385.    public boolean isSelected() {
  386.       return this.isSelected;
  387.    }
  388.  
  389.    public void setFrameIcon(Icon var1) {
  390.       this.frameIcon = var1;
  391.    }
  392.  
  393.    public Icon getFrameIcon() {
  394.       return this.frameIcon;
  395.    }
  396.  
  397.    public Color getBackground() {
  398.       return this.getContentPane().getBackground();
  399.    }
  400.  
  401.    public void setBackground(Color var1) {
  402.       this.getContentPane().setBackground(var1);
  403.    }
  404.  
  405.    public Color getForeground() {
  406.       return this.getContentPane().getForeground();
  407.    }
  408.  
  409.    public void setForeground(Color var1) {
  410.       this.getContentPane().setForeground(var1);
  411.    }
  412.  
  413.    public void moveToFront() {
  414.       if (((Component)this).getParent() != null && ((Component)this).getParent() instanceof JLayeredPane) {
  415.          JLayeredPane var1 = (JLayeredPane)((Component)this).getParent();
  416.          var1.moveToFront(this);
  417.       }
  418.  
  419.    }
  420.  
  421.    public void moveToBack() {
  422.       if (((Component)this).getParent() != null && ((Component)this).getParent() instanceof JLayeredPane) {
  423.          JLayeredPane var1 = (JLayeredPane)((Component)this).getParent();
  424.          var1.moveToBack(this);
  425.       }
  426.  
  427.    }
  428.  
  429.    public void setLayer(Integer var1) {
  430.       if (((Component)this).getParent() != null && ((Component)this).getParent() instanceof JLayeredPane) {
  431.          JLayeredPane var2 = (JLayeredPane)((Component)this).getParent();
  432.          var2.setLayer(this, var1, var2.getPosition(this));
  433.       } else {
  434.          JLayeredPane.putLayer(this, var1);
  435.          if (((Component)this).getParent() != null) {
  436.             ((Component)this).getParent().repaint(super._bounds.x, super._bounds.y, super._bounds.width, super._bounds.height);
  437.          }
  438.  
  439.       }
  440.    }
  441.  
  442.    public int getLayer() {
  443.       return JLayeredPane.getLayer(this);
  444.    }
  445.  
  446.    public JDesktopPane getDesktopPane() {
  447.       Container var1;
  448.       for(var1 = ((Component)this).getParent(); var1 != null && !(var1 instanceof JDesktopPane); var1 = ((Component)var1).getParent()) {
  449.       }
  450.  
  451.       if (var1 == null) {
  452.          for(var1 = this.getDesktopIcon().getParent(); var1 != null && !(var1 instanceof JDesktopPane); var1 = ((Component)var1).getParent()) {
  453.          }
  454.       }
  455.  
  456.       return (JDesktopPane)var1;
  457.    }
  458.  
  459.    public void setDesktopIcon(JDesktopIcon var1) {
  460.       this.desktopIcon = var1;
  461.    }
  462.  
  463.    public JDesktopIcon getDesktopIcon() {
  464.       return this.desktopIcon;
  465.    }
  466.  
  467.    synchronized void startModal() {
  468.       try {
  469.          if (Thread.currentThread().getClass().getName().endsWith("EventDispatchThread")) {
  470.             EventQueue var1 = ((Component)this).getToolkit().getSystemEventQueue();
  471.  
  472.             while(((Component)this).isVisible()) {
  473.                AWTEvent var2 = var1.getNextEvent();
  474.                Object var3 = ((EventObject)var2).getSource();
  475.                if (var3 instanceof Component) {
  476.                   ((Component)var3).dispatchEvent(var2);
  477.                } else if (var3 instanceof MenuComponent) {
  478.                   ((MenuComponent)var3).dispatchEvent(var2);
  479.                } else {
  480.                   System.err.println("unable to dispatch event: " + var2);
  481.                }
  482.             }
  483.  
  484.          } else {
  485.             while(((Component)this).isVisible()) {
  486.                this.wait();
  487.             }
  488.  
  489.          }
  490.       } catch (InterruptedException var4) {
  491.       }
  492.    }
  493.  
  494.    synchronized void stopModal() {
  495.       this.notifyAll();
  496.    }
  497.  
  498.    public void reshape(int var1, int var2, int var3, int var4) {
  499.       super.reshape(var1, var2, var3, var4);
  500.       ((Container)this).validate();
  501.       ((Component)this).repaint();
  502.    }
  503.  
  504.    public synchronized void addInternalFrameListener(InternalFrameListener var1) {
  505.       this.internalFrameListener = com.sun.java.swing.JInternalFrame.MyEventMulticaster.add(this.internalFrameListener, var1);
  506.       ((Component)this).enableEvents(0L);
  507.    }
  508.  
  509.    public synchronized void removeInternalFrameListener(InternalFrameListener var1) {
  510.       this.internalFrameListener = com.sun.java.swing.JInternalFrame.MyEventMulticaster.remove(this.internalFrameListener, var1);
  511.    }
  512.  
  513.    private synchronized void postInternalFrameEvent(int var1) {
  514.       if (this.internalFrameListener != null) {
  515.          InternalFrameEvent var2 = new InternalFrameEvent(this, var1);
  516.          if ((class$com$sun$java$swing$JInternalFrame != null ? class$com$sun$java$swing$JInternalFrame : (class$com$sun$java$swing$JInternalFrame = JComponent.class$("com.sun.java.swing.JInternalFrame"))).getClassLoader() == null) {
  517.             try {
  518.                Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent(var2);
  519.                return;
  520.             } catch (SecurityException var3) {
  521.             }
  522.          }
  523.  
  524.          ((Component)this).dispatchEvent(var2);
  525.       }
  526.  
  527.    }
  528.  
  529.    private void doDefaultCloseAction() {
  530.       switch (this.defaultCloseOperation) {
  531.          case 0:
  532.          default:
  533.             return;
  534.          case 1:
  535.             try {
  536.                this.setClosed(true);
  537.                return;
  538.             } catch (PropertyVetoException var2) {
  539.                return;
  540.             }
  541.          case 2:
  542.             try {
  543.                this.setClosed(true);
  544.                this.dispose();
  545.             } catch (PropertyVetoException var1) {
  546.             }
  547.       }
  548.    }
  549.  
  550.    protected void processEvent(AWTEvent var1) {
  551.       synchronized(this){}
  552.  
  553.       try {
  554.          if (this.internalFrameListener == null) {
  555.             if (var1.getID() == 25550) {
  556.                this.doDefaultCloseAction();
  557.             }
  558.          } else {
  559.             switch (var1.getID()) {
  560.                case 25549:
  561.                   this.internalFrameListener.internalFrameOpened((InternalFrameEvent)var1);
  562.                   return;
  563.                case 25550:
  564.                   this.internalFrameListener.internalFrameClosing((InternalFrameEvent)var1);
  565.                   this.doDefaultCloseAction();
  566.                   return;
  567.                case 25551:
  568.                   this.internalFrameListener.internalFrameClosed((InternalFrameEvent)var1);
  569.                   return;
  570.                case 25552:
  571.                   this.internalFrameListener.internalFrameIconified((InternalFrameEvent)var1);
  572.                   return;
  573.                case 25553:
  574.                   this.internalFrameListener.internalFrameDeiconified((InternalFrameEvent)var1);
  575.                   return;
  576.                case 25554:
  577.                   this.internalFrameListener.internalFrameActivated((InternalFrameEvent)var1);
  578.                   return;
  579.                case 25555:
  580.                   this.internalFrameListener.internalFrameDeactivated((InternalFrameEvent)var1);
  581.                   return;
  582.             }
  583.          }
  584.       } catch (Throwable var5) {
  585.          throw var5;
  586.       }
  587.  
  588.       super.processEvent(var1);
  589.    }
  590.  
  591.    public void setDefaultCloseOperation(int var1) {
  592.       this.defaultCloseOperation = var1;
  593.    }
  594.  
  595.    public int getDefaultCloseOperation() {
  596.       return this.defaultCloseOperation;
  597.    }
  598.  
  599.    public void pack() {
  600.       Container var1 = ((Component)this).getParent();
  601.       if (var1 != null && ((Component)var1).getPeer() == null) {
  602.          var1.addNotify();
  603.          ((JComponent)this).addNotify();
  604.       }
  605.  
  606.       ((Component)this).setSize(((JComponent)this).getPreferredSize());
  607.       ((Container)this).validate();
  608.    }
  609.  
  610.    public void show() {
  611.       this.pack();
  612.       if (!((Component)this).isVisible()) {
  613.          this.setVisible(true);
  614.       }
  615.  
  616.       if (!this.isSelected()) {
  617.          try {
  618.             this.setSelected(true);
  619.          } catch (PropertyVetoException var1) {
  620.          }
  621.       }
  622.    }
  623.  
  624.    public void dispose() {
  625.       if (((Component)this).isVisible()) {
  626.          this.setVisible(false);
  627.       }
  628.  
  629.       if (this.isSelected()) {
  630.          try {
  631.             this.setSelected(false);
  632.          } catch (PropertyVetoException var1) {
  633.          }
  634.       }
  635.  
  636.       if (!this.isClosed) {
  637.          this.postInternalFrameEvent(25551);
  638.       }
  639.  
  640.    }
  641.  
  642.    public void toFront() {
  643.       this.moveToFront();
  644.    }
  645.  
  646.    public void toBack() {
  647.       this.moveToBack();
  648.    }
  649.  
  650.    public final String getWarningString() {
  651.       return null;
  652.    }
  653.  
  654.    public void mousePressed(MouseEvent var1) {
  655.       ((MouseListener)super.ui).mousePressed(var1);
  656.    }
  657.  
  658.    public void mouseEntered(MouseEvent var1) {
  659.       this.forwardMouseEvent(var1);
  660.    }
  661.  
  662.    public void mouseMoved(MouseEvent var1) {
  663.       this.forwardMouseEvent(var1);
  664.    }
  665.  
  666.    public void mouseExited(MouseEvent var1) {
  667.       this.forwardMouseEvent(var1);
  668.    }
  669.  
  670.    public void mouseClicked(MouseEvent var1) {
  671.    }
  672.  
  673.    public void mouseReleased(MouseEvent var1) {
  674.    }
  675.  
  676.    public void mouseDragged(MouseEvent var1) {
  677.    }
  678.  
  679.    private void forwardMouseEvent(MouseEvent var1) {
  680.       Component var2 = findComponentAt(this.getContentPane(), var1.getX(), var1.getY());
  681.       if (var2 != this.mouseEventTarget) {
  682.          this.setMouseTarget(var2, var1);
  683.       }
  684.  
  685.       this.retargetMouseEvent(((AWTEvent)var1).getID(), var1);
  686.    }
  687.  
  688.    private static Component findComponentAt(Container var0, int var1, int var2) {
  689.       if (!((Component)var0).contains(var1, var2)) {
  690.          return var0;
  691.       } else {
  692.          int var3 = var0.getComponentCount();
  693.          Component[] var4 = var0.getComponents();
  694.  
  695.          for(int var5 = 0; var5 < var3; ++var5) {
  696.             Component var6 = var4[var5];
  697.             Point var7 = var6.getLocation();
  698.             if (var6 != null && var6.contains(var1 - var7.x, var2 - var7.y) && var6.getPeer() instanceof LightweightPeer && var6.isVisible()) {
  699.                if (!(var6 instanceof Container)) {
  700.                   return var6;
  701.                }
  702.  
  703.                Container var8 = (Container)var6;
  704.                Point var9 = ((Component)var8).getLocation();
  705.                Component var10 = findComponentAt(var8, var1 - var9.x, var2 - var9.y);
  706.                if (var10 != null) {
  707.                   return var10;
  708.                }
  709.             }
  710.          }
  711.  
  712.          return var0;
  713.       }
  714.    }
  715.  
  716.    private void setMouseTarget(Component var1, MouseEvent var2) {
  717.       if (this.mouseEventTarget != null) {
  718.          this.retargetMouseEvent(505, var2);
  719.       }
  720.  
  721.       this.mouseEventTarget = var1;
  722.       if (this.mouseEventTarget != null) {
  723.          this.retargetMouseEvent(504, var2);
  724.       }
  725.  
  726.    }
  727.  
  728.    void retargetMouseEvent(int var1, MouseEvent var2) {
  729.       MouseEvent var3 = new MouseEvent(this.mouseEventTarget, var1, ((InputEvent)var2).getWhen(), ((InputEvent)var2).getModifiers(), var2.getX(), var2.getY(), var2.getClickCount(), var2.isPopupTrigger());
  730.       this.mouseEventTarget.dispatchEvent(var3);
  731.    }
  732.  
  733.    public void componentResized(ComponentEvent var1) {
  734.       Dimension var2 = ((Component)((EventObject)var1).getSource()).getSize();
  735.       ((Component)this).setBounds(0, 0, var2.width, var2.height);
  736.       ((Container)this).validate();
  737.    }
  738.  
  739.    public void componentMoved(ComponentEvent var1) {
  740.    }
  741.  
  742.    public void componentShown(ComponentEvent var1) {
  743.    }
  744.  
  745.    public void componentHidden(ComponentEvent var1) {
  746.    }
  747.  
  748.    public AccessibleContext getAccessibleContext() {
  749.       if (super.accessibleContext == null) {
  750.          super.accessibleContext = new AccessibleJInternalFrame(this);
  751.       }
  752.  
  753.       return super.accessibleContext;
  754.    }
  755. }
  756.