home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &… the Search for Life CD 3 / 0_CD-ROM.iso / install / jre1_3 / lib / rt.jar / javax / swing / plaf / basic / BasicInternalFrameUI$GlassPaneDispatcher.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  2.7 KB  |  108 lines

  1. package javax.swing.plaf.basic;
  2.  
  3. import java.awt.AWTEvent;
  4. import java.awt.Component;
  5. import java.awt.Container;
  6. import java.awt.Point;
  7. import java.awt.event.InputEvent;
  8. import java.awt.event.MouseEvent;
  9. import java.awt.peer.LightweightPeer;
  10. import javax.swing.SwingUtilities;
  11. import javax.swing.event.MouseInputListener;
  12.  
  13. public class BasicInternalFrameUI$GlassPaneDispatcher implements MouseInputListener {
  14.    private Component mouseEventTarget;
  15.    // $FF: synthetic field
  16.    private final BasicInternalFrameUI this$0;
  17.  
  18.    protected BasicInternalFrameUI$GlassPaneDispatcher(BasicInternalFrameUI var1) {
  19.       this.this$0 = var1;
  20.       this.mouseEventTarget = null;
  21.    }
  22.  
  23.    public void mousePressed(MouseEvent var1) {
  24.       if (this.this$0.borderListener != null) {
  25.          this.this$0.borderListener.mousePressed(var1);
  26.       }
  27.  
  28.       this.forwardMouseEvent(var1);
  29.    }
  30.  
  31.    public void mouseEntered(MouseEvent var1) {
  32.       this.forwardMouseEvent(var1);
  33.    }
  34.  
  35.    public void mouseMoved(MouseEvent var1) {
  36.       this.forwardMouseEvent(var1);
  37.    }
  38.  
  39.    public void mouseExited(MouseEvent var1) {
  40.       this.forwardMouseEvent(var1);
  41.    }
  42.  
  43.    public void mouseClicked(MouseEvent var1) {
  44.    }
  45.  
  46.    public void mouseReleased(MouseEvent var1) {
  47.       this.forwardMouseEvent(var1);
  48.    }
  49.  
  50.    public void mouseDragged(MouseEvent var1) {
  51.    }
  52.  
  53.    private void forwardMouseEvent(MouseEvent var1) {
  54.       Component var2 = this.findComponentAt(this.this$0.frame.getRootPane().getLayeredPane(), var1.getX(), var1.getY());
  55.       if (var2 != this.mouseEventTarget) {
  56.          this.setMouseTarget(var2, var1);
  57.       }
  58.  
  59.       this.retargetMouseEvent(((AWTEvent)var1).getID(), var1);
  60.    }
  61.  
  62.    private Component findComponentAt(Container var1, int var2, int var3) {
  63.       if (!((Component)var1).contains(var2, var3)) {
  64.          return var1;
  65.       } else {
  66.          int var4 = var1.getComponentCount();
  67.          Component[] var5 = var1.getComponents();
  68.  
  69.          for(int var6 = 0; var6 < var4; ++var6) {
  70.             Component var7 = var5[var6];
  71.             Point var8 = var7.getLocation();
  72.             if (var7 != null && var7.contains(var2 - var8.x, var3 - var8.y) && var7.getPeer() instanceof LightweightPeer && var7.isVisible()) {
  73.                if (!(var7 instanceof Container)) {
  74.                   return var7;
  75.                }
  76.  
  77.                Container var9 = (Container)var7;
  78.                Point var10 = ((Component)var9).getLocation();
  79.                Component var11 = this.findComponentAt(var9, var2 - var10.x, var3 - var10.y);
  80.                if (var11 != null) {
  81.                   return var11;
  82.                }
  83.             }
  84.          }
  85.  
  86.          return var1;
  87.       }
  88.    }
  89.  
  90.    private void setMouseTarget(Component var1, MouseEvent var2) {
  91.       if (this.mouseEventTarget != null) {
  92.          this.retargetMouseEvent(505, var2);
  93.       }
  94.  
  95.       this.mouseEventTarget = var1;
  96.       if (this.mouseEventTarget != null) {
  97.          this.retargetMouseEvent(504, var2);
  98.       }
  99.  
  100.    }
  101.  
  102.    void retargetMouseEvent(int var1, MouseEvent var2) {
  103.       Point var3 = SwingUtilities.convertPoint(this.this$0.frame.getLayeredPane(), var2.getX(), var2.getY(), this.mouseEventTarget);
  104.       MouseEvent var4 = new MouseEvent(this.mouseEventTarget, var1, ((InputEvent)var2).getWhen(), ((InputEvent)var2).getModifiers(), var3.x, var3.y, var2.getClickCount(), var2.isPopupTrigger());
  105.       this.mouseEventTarget.dispatchEvent(var4);
  106.    }
  107. }
  108.