home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1997 October / PCO1097.ISO / FilesBBS / WIN95 / IAVAZIP.EXE / DATA.Z / rt.jar / java / awt / Component.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-05-20  |  24.0 KB  |  1,466 lines

  1. package java.awt;
  2.  
  3. import java.awt.event.ComponentEvent;
  4. import java.awt.event.ComponentListener;
  5. import java.awt.event.FocusEvent;
  6. import java.awt.event.FocusListener;
  7. import java.awt.event.KeyEvent;
  8. import java.awt.event.KeyListener;
  9. import java.awt.event.MouseEvent;
  10. import java.awt.event.MouseListener;
  11. import java.awt.event.MouseMotionListener;
  12. import java.awt.event.PaintEvent;
  13. import java.awt.image.ColorModel;
  14. import java.awt.image.ImageObserver;
  15. import java.awt.image.ImageProducer;
  16. import java.awt.peer.ComponentPeer;
  17. import java.awt.peer.LightweightPeer;
  18. import java.io.IOException;
  19. import java.io.ObjectInputStream;
  20. import java.io.ObjectOutputStream;
  21. import java.io.PrintStream;
  22. import java.io.PrintWriter;
  23. import java.io.Serializable;
  24. import java.util.Locale;
  25. import java.util.Vector;
  26.  
  27. public abstract class Component implements ImageObserver, MenuContainer, Serializable {
  28.    transient ComponentPeer peer;
  29.    transient Container parent;
  30.    // $FF: renamed from: x int
  31.    int field_0;
  32.    // $FF: renamed from: y int
  33.    int field_1;
  34.    int width;
  35.    int height;
  36.    Color foreground;
  37.    Color background;
  38.    Font font;
  39.    Cursor cursor = Cursor.getPredefinedCursor(0);
  40.    Locale locale;
  41.    boolean visible = true;
  42.    boolean enabled = true;
  43.    boolean valid = false;
  44.    Vector popups;
  45.    String name;
  46.    static final Object LOCK = new Object();
  47.    Dimension minSize;
  48.    Dimension prefSize;
  49.    boolean newEventsOnly = false;
  50.    transient ComponentListener componentListener;
  51.    transient FocusListener focusListener;
  52.    transient KeyListener keyListener;
  53.    transient MouseListener mouseListener;
  54.    transient MouseMotionListener mouseMotionListener;
  55.    static final String actionListenerK = "actionL";
  56.    static final String adjustmentListenerK = "adjustmentL";
  57.    static final String componentListenerK = "componentL";
  58.    static final String containerListenerK = "containerL";
  59.    static final String focusListenerK = "focusL";
  60.    static final String itemListenerK = "itemL";
  61.    static final String keyListenerK = "keyL";
  62.    static final String mouseListenerK = "mouseL";
  63.    static final String mouseMotionListenerK = "mouseMotionL";
  64.    static final String textListenerK = "textL";
  65.    static final String windowListenerK = "windowL";
  66.    long eventMask;
  67.    static boolean isInc;
  68.    static int incRate;
  69.    public static final float TOP_ALIGNMENT = 0.0F;
  70.    public static final float CENTER_ALIGNMENT = 0.5F;
  71.    public static final float BOTTOM_ALIGNMENT = 1.0F;
  72.    public static final float LEFT_ALIGNMENT = 0.0F;
  73.    public static final float RIGHT_ALIGNMENT = 1.0F;
  74.    private static final long serialVersionUID = -7644114512714619750L;
  75.    private int componentSerializedDataVersion = 1;
  76.  
  77.    protected Component() {
  78.    }
  79.  
  80.    public String getName() {
  81.       return this.name;
  82.    }
  83.  
  84.    public void setName(String var1) {
  85.       this.name = var1;
  86.    }
  87.  
  88.    public Container getParent() {
  89.       return this.parent;
  90.    }
  91.  
  92.    /** @deprecated */
  93.    public ComponentPeer getPeer() {
  94.       return this.peer;
  95.    }
  96.  
  97.    public final Object getTreeLock() {
  98.       return LOCK;
  99.    }
  100.  
  101.    public Toolkit getToolkit() {
  102.       ComponentPeer var1 = this.peer;
  103.       if (var1 != null && !(var1 instanceof LightweightPeer)) {
  104.          return var1.getToolkit();
  105.       } else {
  106.          Container var2 = this.parent;
  107.          return var2 != null ? ((Component)var2).getToolkit() : Toolkit.getDefaultToolkit();
  108.       }
  109.    }
  110.  
  111.    public boolean isValid() {
  112.       return this.peer != null && this.valid;
  113.    }
  114.  
  115.    public boolean isVisible() {
  116.       return this.visible;
  117.    }
  118.  
  119.    public boolean isShowing() {
  120.       if (this.visible && this.peer != null) {
  121.          Container var1 = this.parent;
  122.          return var1 == null || ((Component)var1).isShowing();
  123.       } else {
  124.          return false;
  125.       }
  126.    }
  127.  
  128.    public boolean isEnabled() {
  129.       return this.enabled;
  130.    }
  131.  
  132.    public void setEnabled(boolean var1) {
  133.       this.enable(var1);
  134.    }
  135.  
  136.    /** @deprecated */
  137.    public void enable() {
  138.       if (!this.enabled) {
  139.          synchronized(this){}
  140.  
  141.          try {
  142.             this.enabled = true;
  143.             ComponentPeer var3 = this.peer;
  144.             if (var3 != null) {
  145.                var3.enable();
  146.             }
  147.          } catch (Throwable var5) {
  148.             throw var5;
  149.          }
  150.  
  151.       }
  152.    }
  153.  
  154.    /** @deprecated */
  155.    public void enable(boolean var1) {
  156.       if (var1) {
  157.          this.enable();
  158.       } else {
  159.          this.disable();
  160.       }
  161.    }
  162.  
  163.    /** @deprecated */
  164.    public void disable() {
  165.       if (this.enabled) {
  166.          synchronized(this){}
  167.  
  168.          try {
  169.             this.enabled = false;
  170.             ComponentPeer var3 = this.peer;
  171.             if (var3 != null) {
  172.                var3.disable();
  173.             }
  174.          } catch (Throwable var5) {
  175.             throw var5;
  176.          }
  177.  
  178.       }
  179.    }
  180.  
  181.    public void setVisible(boolean var1) {
  182.       this.show(var1);
  183.    }
  184.  
  185.    /** @deprecated */
  186.    public void show() {
  187.       if (!this.visible) {
  188.          Object var1 = LOCK;
  189.          synchronized(var1){}
  190.  
  191.          try {
  192.             this.visible = true;
  193.             ComponentPeer var3 = this.peer;
  194.             if (var3 != null) {
  195.                var3.show();
  196.                if (var3 instanceof LightweightPeer) {
  197.                   this.repaint();
  198.                }
  199.             }
  200.  
  201.             if (this.componentListener != null || (this.eventMask & 1L) != 0L) {
  202.                ComponentEvent var4 = new ComponentEvent(this, 102);
  203.                Toolkit.getEventQueue().postEvent(var4);
  204.             }
  205.          } catch (Throwable var6) {
  206.             throw var6;
  207.          }
  208.  
  209.          Container var7 = this.parent;
  210.          if (var7 != null) {
  211.             var7.invalidate();
  212.          }
  213.       }
  214.  
  215.    }
  216.  
  217.    /** @deprecated */
  218.    public void show(boolean var1) {
  219.       if (var1) {
  220.          this.show();
  221.       } else {
  222.          this.hide();
  223.       }
  224.    }
  225.  
  226.    /** @deprecated */
  227.    public void hide() {
  228.       if (this.visible) {
  229.          Object var1 = LOCK;
  230.          synchronized(var1){}
  231.  
  232.          try {
  233.             this.visible = false;
  234.             ComponentPeer var3 = this.peer;
  235.             if (var3 != null) {
  236.                var3.hide();
  237.                if (var3 instanceof LightweightPeer) {
  238.                   this.repaint();
  239.                }
  240.             }
  241.  
  242.             if (this.componentListener != null || (this.eventMask & 1L) != 0L) {
  243.                ComponentEvent var4 = new ComponentEvent(this, 103);
  244.                Toolkit.getEventQueue().postEvent(var4);
  245.             }
  246.          } catch (Throwable var6) {
  247.             throw var6;
  248.          }
  249.  
  250.          Container var7 = this.parent;
  251.          if (var7 != null) {
  252.             var7.invalidate();
  253.          }
  254.       }
  255.  
  256.    }
  257.  
  258.    public Color getForeground() {
  259.       Color var1 = this.foreground;
  260.       if (var1 != null) {
  261.          return var1;
  262.       } else {
  263.          Container var2 = this.parent;
  264.          return var2 != null ? ((Component)var2).getForeground() : null;
  265.       }
  266.    }
  267.  
  268.    public void setForeground(Color var1) {
  269.       ComponentPeer var2 = this.peer;
  270.       this.foreground = var1;
  271.       if (var2 != null) {
  272.          var1 = this.getForeground();
  273.          if (var1 != null) {
  274.             var2.setForeground(var1);
  275.          }
  276.       }
  277.  
  278.    }
  279.  
  280.    public Color getBackground() {
  281.       Color var1 = this.background;
  282.       if (var1 != null) {
  283.          return var1;
  284.       } else {
  285.          Container var2 = this.parent;
  286.          return var2 != null ? ((Component)var2).getBackground() : null;
  287.       }
  288.    }
  289.  
  290.    public void setBackground(Color var1) {
  291.       ComponentPeer var2 = this.peer;
  292.       this.background = var1;
  293.       if (var2 != null) {
  294.          var1 = this.getBackground();
  295.          if (var1 != null) {
  296.             var2.setBackground(var1);
  297.          }
  298.       }
  299.  
  300.    }
  301.  
  302.    public Font getFont() {
  303.       Font var1 = this.font;
  304.       if (var1 != null) {
  305.          return var1;
  306.       } else {
  307.          Container var2 = this.parent;
  308.          return var2 != null ? ((Component)var2).getFont() : null;
  309.       }
  310.    }
  311.  
  312.    public synchronized void setFont(Font var1) {
  313.       ComponentPeer var2 = this.peer;
  314.       this.font = var1;
  315.       if (var2 != null) {
  316.          var1 = this.getFont();
  317.          if (var1 != null) {
  318.             var2.setFont(var1);
  319.          }
  320.       }
  321.  
  322.    }
  323.  
  324.    public Locale getLocale() {
  325.       Locale var1 = this.locale;
  326.       if (var1 != null) {
  327.          return var1;
  328.       } else {
  329.          Container var2 = this.parent;
  330.          if (var2 == null) {
  331.             throw new IllegalComponentStateException("This component must have a parent in order to determine its locale");
  332.          } else {
  333.             return ((Component)var2).getLocale();
  334.          }
  335.       }
  336.    }
  337.  
  338.    public void setLocale(Locale var1) {
  339.       this.locale = var1;
  340.    }
  341.  
  342.    public ColorModel getColorModel() {
  343.       ComponentPeer var1 = this.peer;
  344.       return var1 != null && !(var1 instanceof LightweightPeer) ? var1.getColorModel() : this.getToolkit().getColorModel();
  345.    }
  346.  
  347.    public Point getLocation() {
  348.       return this.location();
  349.    }
  350.  
  351.    public Point getLocationOnScreen() {
  352.       Object var2 = LOCK;
  353.       synchronized(var2){}
  354.  
  355.       Point var1;
  356.       try {
  357.          if (this.peer == null || !this.isShowing()) {
  358.             throw new IllegalComponentStateException("component must be showing on the screen to determine its location");
  359.          }
  360.  
  361.          if (!(this.peer instanceof LightweightPeer)) {
  362.             Point var10 = this.peer.getLocationOnScreen();
  363.             var1 = var10;
  364.             return var1;
  365.          }
  366.  
  367.          Container var4 = this.getNativeContainer();
  368.          Point var5 = var4.peer.getLocationOnScreen();
  369.  
  370.          for(Object var6 = this; var6 != var4; var6 = ((Component)var6).getParent()) {
  371.             var5.x += ((Component)var6).field_0;
  372.             var5.y += ((Component)var6).field_1;
  373.          }
  374.  
  375.          var1 = var5;
  376.       } catch (Throwable var8) {
  377.          throw var8;
  378.       }
  379.  
  380.       return var1;
  381.    }
  382.  
  383.    /** @deprecated */
  384.    public Point location() {
  385.       return new Point(this.field_0, this.field_1);
  386.    }
  387.  
  388.    public void setLocation(int var1, int var2) {
  389.       this.move(var1, var2);
  390.    }
  391.  
  392.    /** @deprecated */
  393.    public void move(int var1, int var2) {
  394.       this.setBounds(var1, var2, this.width, this.height);
  395.    }
  396.  
  397.    public void setLocation(Point var1) {
  398.       this.setLocation(var1.x, var1.y);
  399.    }
  400.  
  401.    public Dimension getSize() {
  402.       return this.size();
  403.    }
  404.  
  405.    /** @deprecated */
  406.    public Dimension size() {
  407.       return new Dimension(this.width, this.height);
  408.    }
  409.  
  410.    public void setSize(int var1, int var2) {
  411.       this.resize(var1, var2);
  412.    }
  413.  
  414.    /** @deprecated */
  415.    public void resize(int var1, int var2) {
  416.       this.setBounds(this.field_0, this.field_1, var1, var2);
  417.    }
  418.  
  419.    public void setSize(Dimension var1) {
  420.       this.resize(var1);
  421.    }
  422.  
  423.    /** @deprecated */
  424.    public void resize(Dimension var1) {
  425.       this.setSize(var1.width, var1.height);
  426.    }
  427.  
  428.    public Rectangle getBounds() {
  429.       return this.bounds();
  430.    }
  431.  
  432.    /** @deprecated */
  433.    public Rectangle bounds() {
  434.       return new Rectangle(this.field_0, this.field_1, this.width, this.height);
  435.    }
  436.  
  437.    public void setBounds(int var1, int var2, int var3, int var4) {
  438.       this.reshape(var1, var2, var3, var4);
  439.    }
  440.  
  441.    /** @deprecated */
  442.    public void reshape(int var1, int var2, int var3, int var4) {
  443.       Object var5 = LOCK;
  444.       synchronized(var5){}
  445.  
  446.       try {
  447.          boolean var7 = this.width != var3 || this.height != var4;
  448.          boolean var8 = this.field_0 != var1 || this.field_1 != var2;
  449.          boolean var9 = this.peer instanceof LightweightPeer;
  450.          if (var7 || var8) {
  451.             if (var9) {
  452.                this.repaint();
  453.             }
  454.  
  455.             this.field_0 = var1;
  456.             this.field_1 = var2;
  457.             this.width = var3;
  458.             this.height = var4;
  459.             if (this.peer != null) {
  460.                if (this.peer instanceof LightweightPeer) {
  461.                   this.peer.setBounds(var1, var2, var3, var4);
  462.                } else {
  463.                   int var10 = var1;
  464.                   int var11 = var2;
  465.  
  466.                   for(Container var12 = this.parent; var12 != null && var12.peer instanceof LightweightPeer; var12 = var12.parent) {
  467.                      var10 += var12.field_0;
  468.                      var11 += var12.field_1;
  469.                   }
  470.  
  471.                   this.peer.setBounds(var10, var11, var3, var4);
  472.                }
  473.  
  474.                if (var7) {
  475.                   this.invalidate();
  476.                   if (this.componentListener != null || (this.eventMask & 1L) != 0L) {
  477.                      ComponentEvent var15 = new ComponentEvent(this, 101);
  478.                      Toolkit.getEventQueue().postEvent(var15);
  479.                   }
  480.                }
  481.  
  482.                if (var8 && (this.componentListener != null || (this.eventMask & 1L) != 0L)) {
  483.                   ComponentEvent var16 = new ComponentEvent(this, 100);
  484.                   Toolkit.getEventQueue().postEvent(var16);
  485.                }
  486.  
  487.                if (this.parent != null && this.parent.valid) {
  488.                   this.parent.invalidate();
  489.                }
  490.  
  491.                if (var9) {
  492.                   this.repaint();
  493.                }
  494.             }
  495.          }
  496.       } catch (Throwable var14) {
  497.          throw var14;
  498.       }
  499.  
  500.    }
  501.  
  502.    public void setBounds(Rectangle var1) {
  503.       this.setBounds(var1.x, var1.y, var1.width, var1.height);
  504.    }
  505.  
  506.    public Dimension getPreferredSize() {
  507.       return this.preferredSize();
  508.    }
  509.  
  510.    /** @deprecated */
  511.    public Dimension preferredSize() {
  512.       Dimension var1 = this.prefSize;
  513.       if (var1 != null && this.isValid()) {
  514.          return var1;
  515.       } else {
  516.          Object var3 = LOCK;
  517.          synchronized(var3){}
  518.  
  519.          Dimension var2;
  520.          try {
  521.             this.prefSize = this.peer != null ? this.peer.preferredSize() : this.getMinimumSize();
  522.             var2 = this.prefSize;
  523.          } catch (Throwable var6) {
  524.             throw var6;
  525.          }
  526.  
  527.          return var2;
  528.       }
  529.    }
  530.  
  531.    public Dimension getMinimumSize() {
  532.       return this.minimumSize();
  533.    }
  534.  
  535.    /** @deprecated */
  536.    public Dimension minimumSize() {
  537.       Dimension var1 = this.minSize;
  538.       if (var1 != null && this.isValid()) {
  539.          return var1;
  540.       } else {
  541.          Object var3 = LOCK;
  542.          synchronized(var3){}
  543.  
  544.          Dimension var2;
  545.          try {
  546.             this.minSize = this.peer != null ? this.peer.minimumSize() : this.size();
  547.             var2 = this.minSize;
  548.          } catch (Throwable var6) {
  549.             throw var6;
  550.          }
  551.  
  552.          return var2;
  553.       }
  554.    }
  555.  
  556.    public Dimension getMaximumSize() {
  557.       return new Dimension(32767, 32767);
  558.    }
  559.  
  560.    public float getAlignmentX() {
  561.       return 0.5F;
  562.    }
  563.  
  564.    public float getAlignmentY() {
  565.       return 0.5F;
  566.    }
  567.  
  568.    public void doLayout() {
  569.       this.layout();
  570.    }
  571.  
  572.    /** @deprecated */
  573.    public void layout() {
  574.    }
  575.  
  576.    public void validate() {
  577.       if (!this.valid) {
  578.          Object var1 = LOCK;
  579.          synchronized(var1){}
  580.  
  581.          try {
  582.             this.valid = true;
  583.          } catch (Throwable var3) {
  584.             throw var3;
  585.          }
  586.  
  587.       }
  588.    }
  589.  
  590.    public void invalidate() {
  591.       Object var1 = LOCK;
  592.       synchronized(var1){}
  593.  
  594.       try {
  595.          this.valid = false;
  596.          this.prefSize = null;
  597.          this.minSize = null;
  598.          if (this.parent != null && this.parent.valid) {
  599.             this.parent.invalidate();
  600.          }
  601.       } catch (Throwable var3) {
  602.          throw var3;
  603.       }
  604.  
  605.    }
  606.  
  607.    public Graphics getGraphics() {
  608.       if (this.peer instanceof LightweightPeer) {
  609.          Graphics var2 = this.parent.getGraphics();
  610.          var2.translate(this.field_0, this.field_1);
  611.          var2.setClip(0, 0, this.width, this.height);
  612.          return var2;
  613.       } else {
  614.          ComponentPeer var1 = this.peer;
  615.          return var1 != null ? var1.getGraphics() : null;
  616.       }
  617.    }
  618.  
  619.    public FontMetrics getFontMetrics(Font var1) {
  620.       ComponentPeer var2 = this.peer;
  621.       return var2 != null && !(var2 instanceof LightweightPeer) ? var2.getFontMetrics(var1) : this.getToolkit().getFontMetrics(var1);
  622.    }
  623.  
  624.    public synchronized void setCursor(Cursor var1) {
  625.       this.cursor = var1;
  626.       ComponentPeer var2 = this.peer;
  627.       if (var2 != null) {
  628.          var2.setCursor(var1);
  629.       }
  630.  
  631.    }
  632.  
  633.    public Cursor getCursor() {
  634.       return this.cursor;
  635.    }
  636.  
  637.    public void paint(Graphics var1) {
  638.    }
  639.  
  640.    public void update(Graphics var1) {
  641.       if (!(this.peer instanceof LightweightPeer)) {
  642.          var1.setColor(this.getBackground());
  643.          var1.fillRect(0, 0, this.width, this.height);
  644.          var1.setColor(this.getForeground());
  645.       }
  646.  
  647.       this.paint(var1);
  648.    }
  649.  
  650.    public void paintAll(Graphics var1) {
  651.       ComponentPeer var2 = this.peer;
  652.       if (this.visible && var2 != null) {
  653.          this.validate();
  654.          if (var2 instanceof LightweightPeer) {
  655.             this.paint(var1);
  656.             return;
  657.          }
  658.  
  659.          var2.paint(var1);
  660.       }
  661.  
  662.    }
  663.  
  664.    public void repaint() {
  665.       this.repaint(0L, 0, 0, this.width, this.height);
  666.    }
  667.  
  668.    public void repaint(long var1) {
  669.       this.repaint(var1, 0, 0, this.width, this.height);
  670.    }
  671.  
  672.    public void repaint(int var1, int var2, int var3, int var4) {
  673.       this.repaint(0L, var1, var2, var3, var4);
  674.    }
  675.  
  676.    public void repaint(long var1, int var3, int var4, int var5, int var6) {
  677.       if (this.peer instanceof LightweightPeer) {
  678.          int var11 = this.field_0 + (var3 < 0 ? 0 : var3);
  679.          int var8 = this.field_1 + (var4 < 0 ? 0 : var4);
  680.          int var9 = var5 > this.width ? this.width : var5;
  681.          int var10 = var6 > this.height ? this.height : var6;
  682.          this.parent.repaint(var1, var11, var8, var9, var10);
  683.       } else {
  684.          ComponentPeer var7 = this.peer;
  685.          if (var7 != null && var5 > 0 && var6 > 0) {
  686.             var7.repaint(var1, var3, var4, var5, var6);
  687.          }
  688.  
  689.       }
  690.    }
  691.  
  692.    public void print(Graphics var1) {
  693.       this.paint(var1);
  694.    }
  695.  
  696.    public void printAll(Graphics var1) {
  697.       ComponentPeer var2 = this.peer;
  698.       if (this.visible && var2 != null) {
  699.          this.validate();
  700.          var2.print(var1);
  701.       }
  702.  
  703.    }
  704.  
  705.    public boolean imageUpdate(Image var1, int var2, int var3, int var4, int var5, int var6) {
  706.       int var7 = -1;
  707.       if ((var2 & 48) != 0) {
  708.          var7 = 0;
  709.       } else if ((var2 & 8) != 0 && isInc) {
  710.          try {
  711.             var7 = incRate;
  712.             if (var7 < 0) {
  713.                var7 = 0;
  714.             }
  715.          } catch (Exception var8) {
  716.             var7 = 100;
  717.          }
  718.       }
  719.  
  720.       if (var7 >= 0) {
  721.          this.repaint((long)var7, 0, 0, this.width, this.height);
  722.       }
  723.  
  724.       return (var2 & 160) == 0;
  725.    }
  726.  
  727.    public Image createImage(ImageProducer var1) {
  728.       ComponentPeer var2 = this.peer;
  729.       return var2 != null && !(var2 instanceof LightweightPeer) ? var2.createImage(var1) : this.getToolkit().createImage(var1);
  730.    }
  731.  
  732.    public Image createImage(int var1, int var2) {
  733.       ComponentPeer var3 = this.peer;
  734.       if (var3 instanceof LightweightPeer) {
  735.          return this.parent.createImage(var1, var2);
  736.       } else {
  737.          return var3 != null ? var3.createImage(var1, var2) : null;
  738.       }
  739.    }
  740.  
  741.    public boolean prepareImage(Image var1, ImageObserver var2) {
  742.       return this.prepareImage(var1, -1, -1, var2);
  743.    }
  744.  
  745.    public boolean prepareImage(Image var1, int var2, int var3, ImageObserver var4) {
  746.       ComponentPeer var5 = this.peer;
  747.       if (var5 instanceof LightweightPeer) {
  748.          return this.parent.prepareImage(var1, var2, var3, var4);
  749.       } else {
  750.          return var5 != null ? var5.prepareImage(var1, var2, var3, var4) : this.getToolkit().prepareImage(var1, var2, var3, var4);
  751.       }
  752.    }
  753.  
  754.    public int checkImage(Image var1, ImageObserver var2) {
  755.       return this.checkImage(var1, -1, -1, var2);
  756.    }
  757.  
  758.    public int checkImage(Image var1, int var2, int var3, ImageObserver var4) {
  759.       ComponentPeer var5 = this.peer;
  760.       if (var5 instanceof LightweightPeer) {
  761.          return this.parent.checkImage(var1, var2, var3, var4);
  762.       } else {
  763.          return var5 != null ? var5.checkImage(var1, var2, var3, var4) : this.getToolkit().checkImage(var1, var2, var3, var4);
  764.       }
  765.    }
  766.  
  767.    public boolean contains(int var1, int var2) {
  768.       return this.inside(var1, var2);
  769.    }
  770.  
  771.    /** @deprecated */
  772.    public boolean inside(int var1, int var2) {
  773.       return var1 >= 0 && var1 < this.width && var2 >= 0 && var2 < this.height;
  774.    }
  775.  
  776.    public boolean contains(Point var1) {
  777.       return this.contains(var1.x, var1.y);
  778.    }
  779.  
  780.    public Component getComponentAt(int var1, int var2) {
  781.       return this.locate(var1, var2);
  782.    }
  783.  
  784.    /** @deprecated */
  785.    public Component locate(int var1, int var2) {
  786.       return this.contains(var1, var2) ? this : null;
  787.    }
  788.  
  789.    public Component getComponentAt(Point var1) {
  790.       return this.getComponentAt(var1.x, var1.y);
  791.    }
  792.  
  793.    /** @deprecated */
  794.    public void deliverEvent(Event var1) {
  795.       this.postEvent(var1);
  796.    }
  797.  
  798.    public final void dispatchEvent(AWTEvent var1) {
  799.       this.dispatchEventImpl(var1);
  800.    }
  801.  
  802.    void dispatchEventImpl(AWTEvent var1) {
  803.       int var2 = var1.getID();
  804.       switch (var2) {
  805.          case 401:
  806.          case 402:
  807.             Container var5 = (Container)(this instanceof Container ? this : this.parent);
  808.             if (var5 != null) {
  809.                var5.preProcessKeyEvent((KeyEvent)var1);
  810.             }
  811.             break;
  812.          case 800:
  813.          case 801:
  814.             Graphics var3 = this.getGraphics();
  815.             if (var3 == null) {
  816.                return;
  817.             }
  818.  
  819.             Rectangle var4 = ((PaintEvent)var1).getUpdateRect();
  820.             var3.clipRect(var4.x, var4.y, var4.width, var4.height);
  821.             if (var2 == 800) {
  822.                this.paint(var3);
  823.             } else {
  824.                this.update(var3);
  825.             }
  826.  
  827.             var3.dispose();
  828.             return;
  829.          case 1004:
  830.             if (this.parent != null && !(this instanceof Window)) {
  831.                this.parent.setFocusOwner(this);
  832.             }
  833.       }
  834.  
  835.       if (this.newEventsOnly) {
  836.          if (this.eventEnabled(var1)) {
  837.             this.processEvent(var1);
  838.          }
  839.       } else if (!(var1 instanceof MouseEvent) || this.postsOldMouseEvents()) {
  840.          Event var6 = var1.convertToOld();
  841.          if (var6 != null) {
  842.             int var8 = var6.key;
  843.             int var9 = var6.modifiers;
  844.             this.postEvent(var6);
  845.             if (var6.isConsumed()) {
  846.                var1.consume();
  847.             }
  848.  
  849.             switch (var6.id) {
  850.                case 401:
  851.                case 402:
  852.                case 403:
  853.                case 404:
  854.                   if (var6.key != var8) {
  855.                      ((KeyEvent)var1).setKeyChar(var6.getKeyEventChar());
  856.                   }
  857.  
  858.                   if (var6.modifiers != var9) {
  859.                      ((KeyEvent)var1).setModifiers(var6.modifiers);
  860.                   }
  861.             }
  862.          }
  863.       }
  864.  
  865.       if (!var1.isConsumed() && var1 instanceof KeyEvent) {
  866.          Container var7 = (Container)(this instanceof Container ? this : this.parent);
  867.          if (var7 != null) {
  868.             var7.postProcessKeyEvent((KeyEvent)var1);
  869.          }
  870.       }
  871.  
  872.       if (this.peer != null) {
  873.          this.peer.handleEvent(var1);
  874.       }
  875.  
  876.    }
  877.  
  878.    boolean eventEnabled(AWTEvent var1) {
  879.       switch (var1.id) {
  880.          case 100:
  881.          case 101:
  882.          case 102:
  883.          case 103:
  884.             if ((this.eventMask & 1L) != 0L || this.componentListener != null) {
  885.                return true;
  886.             }
  887.             break;
  888.          case 400:
  889.          case 401:
  890.          case 402:
  891.             if ((this.eventMask & 8L) != 0L || this.keyListener != null) {
  892.                return true;
  893.             }
  894.             break;
  895.          case 500:
  896.          case 501:
  897.          case 502:
  898.          case 504:
  899.          case 505:
  900.             if ((this.eventMask & 16L) != 0L || this.mouseListener != null) {
  901.                return true;
  902.             }
  903.             break;
  904.          case 503:
  905.          case 506:
  906.             if ((this.eventMask & 32L) != 0L || this.mouseMotionListener != null) {
  907.                return true;
  908.             }
  909.             break;
  910.          case 1004:
  911.          case 1005:
  912.             if ((this.eventMask & 4L) != 0L || this.focusListener != null) {
  913.                return true;
  914.             }
  915.       }
  916.  
  917.       if (var1.id > 1999) {
  918.          return true;
  919.       } else {
  920.          return false;
  921.       }
  922.    }
  923.  
  924.    /** @deprecated */
  925.    public boolean postEvent(Event var1) {
  926.       if (this.handleEvent(var1)) {
  927.          var1.consume();
  928.          return true;
  929.       } else {
  930.          Container var2 = this.parent;
  931.          int var3 = var1.x;
  932.          int var4 = var1.y;
  933.          if (var2 != null) {
  934.             var1.translate(this.field_0, this.field_1);
  935.             if (((Component)var2).postEvent(var1)) {
  936.                var1.consume();
  937.                return true;
  938.             }
  939.  
  940.             var1.x = var3;
  941.             var1.y = var4;
  942.          }
  943.  
  944.          return false;
  945.       }
  946.    }
  947.  
  948.    public synchronized void addComponentListener(ComponentListener var1) {
  949.       this.componentListener = AWTEventMulticaster.add(this.componentListener, var1);
  950.       this.newEventsOnly = true;
  951.    }
  952.  
  953.    public synchronized void removeComponentListener(ComponentListener var1) {
  954.       this.componentListener = AWTEventMulticaster.remove(this.componentListener, var1);
  955.    }
  956.  
  957.    public synchronized void addFocusListener(FocusListener var1) {
  958.       this.focusListener = AWTEventMulticaster.add(this.focusListener, var1);
  959.       this.newEventsOnly = true;
  960.       if (this.peer instanceof LightweightPeer) {
  961.          this.parent.proxyEnableEvents(4L);
  962.       }
  963.  
  964.    }
  965.  
  966.    public synchronized void removeFocusListener(FocusListener var1) {
  967.       this.focusListener = AWTEventMulticaster.remove(this.focusListener, var1);
  968.    }
  969.  
  970.    public synchronized void addKeyListener(KeyListener var1) {
  971.       this.keyListener = AWTEventMulticaster.add(this.keyListener, var1);
  972.       this.newEventsOnly = true;
  973.       if (this.peer instanceof LightweightPeer) {
  974.          this.parent.proxyEnableEvents(8L);
  975.       }
  976.  
  977.    }
  978.  
  979.    public synchronized void removeKeyListener(KeyListener var1) {
  980.       this.keyListener = AWTEventMulticaster.remove(this.keyListener, var1);
  981.    }
  982.  
  983.    public synchronized void addMouseListener(MouseListener var1) {
  984.       this.mouseListener = AWTEventMulticaster.add(this.mouseListener, var1);
  985.       this.newEventsOnly = true;
  986.       if (this.peer instanceof LightweightPeer) {
  987.          this.parent.proxyEnableEvents(16L);
  988.       }
  989.  
  990.    }
  991.  
  992.    public synchronized void removeMouseListener(MouseListener var1) {
  993.       this.mouseListener = AWTEventMulticaster.remove(this.mouseListener, var1);
  994.    }
  995.  
  996.    public synchronized void addMouseMotionListener(MouseMotionListener var1) {
  997.       this.mouseMotionListener = AWTEventMulticaster.add(this.mouseMotionListener, var1);
  998.       this.newEventsOnly = true;
  999.       if (this.peer instanceof LightweightPeer) {
  1000.          this.parent.proxyEnableEvents(32L);
  1001.       }
  1002.  
  1003.    }
  1004.  
  1005.    public synchronized void removeMouseMotionListener(MouseMotionListener var1) {
  1006.       this.mouseMotionListener = AWTEventMulticaster.remove(this.mouseMotionListener, var1);
  1007.    }
  1008.  
  1009.    protected final void enableEvents(long var1) {
  1010.       this.eventMask |= var1;
  1011.       this.newEventsOnly = true;
  1012.       if (this.peer instanceof LightweightPeer) {
  1013.          this.parent.proxyEnableEvents(this.eventMask);
  1014.       }
  1015.  
  1016.    }
  1017.  
  1018.    protected final void disableEvents(long var1) {
  1019.       this.eventMask &= ~var1;
  1020.    }
  1021.  
  1022.    protected void processEvent(AWTEvent var1) {
  1023.       if (var1 instanceof FocusEvent) {
  1024.          this.processFocusEvent((FocusEvent)var1);
  1025.       } else {
  1026.          if (var1 instanceof MouseEvent) {
  1027.             switch (var1.getID()) {
  1028.                case 500:
  1029.                case 501:
  1030.                case 502:
  1031.                case 504:
  1032.                case 505:
  1033.                   this.processMouseEvent((MouseEvent)var1);
  1034.                   return;
  1035.                case 503:
  1036.                case 506:
  1037.                   this.processMouseMotionEvent((MouseEvent)var1);
  1038.                   return;
  1039.             }
  1040.          } else {
  1041.             if (var1 instanceof KeyEvent) {
  1042.                this.processKeyEvent((KeyEvent)var1);
  1043.                return;
  1044.             }
  1045.  
  1046.             if (var1 instanceof ComponentEvent) {
  1047.                this.processComponentEvent((ComponentEvent)var1);
  1048.             }
  1049.          }
  1050.  
  1051.       }
  1052.    }
  1053.  
  1054.    protected void processComponentEvent(ComponentEvent var1) {
  1055.       if (this.componentListener != null) {
  1056.          int var2 = ((AWTEvent)var1).getID();
  1057.          switch (var2) {
  1058.             case 100:
  1059.                this.componentListener.componentMoved(var1);
  1060.                return;
  1061.             case 101:
  1062.                this.componentListener.componentResized(var1);
  1063.                return;
  1064.             case 102:
  1065.                this.componentListener.componentShown(var1);
  1066.                return;
  1067.             case 103:
  1068.                this.componentListener.componentHidden(var1);
  1069.                return;
  1070.          }
  1071.       }
  1072.  
  1073.    }
  1074.  
  1075.    protected void processFocusEvent(FocusEvent var1) {
  1076.       if (this.focusListener != null) {
  1077.          int var2 = ((AWTEvent)var1).getID();
  1078.          switch (var2) {
  1079.             case 1004:
  1080.                this.focusListener.focusGained(var1);
  1081.                return;
  1082.             case 1005:
  1083.                this.focusListener.focusLost(var1);
  1084.                return;
  1085.          }
  1086.       }
  1087.  
  1088.    }
  1089.  
  1090.    protected void processKeyEvent(KeyEvent var1) {
  1091.       if (this.keyListener != null) {
  1092.          int var2 = ((AWTEvent)var1).getID();
  1093.          switch (var2) {
  1094.             case 400:
  1095.                this.keyListener.keyTyped(var1);
  1096.                return;
  1097.             case 401:
  1098.                this.keyListener.keyPressed(var1);
  1099.                return;
  1100.             case 402:
  1101.                this.keyListener.keyReleased(var1);
  1102.                return;
  1103.          }
  1104.       }
  1105.  
  1106.    }
  1107.  
  1108.    protected void processMouseEvent(MouseEvent var1) {
  1109.       if (this.mouseListener != null) {
  1110.          int var2 = ((AWTEvent)var1).getID();
  1111.          switch (var2) {
  1112.             case 500:
  1113.                this.mouseListener.mouseClicked(var1);
  1114.                return;
  1115.             case 501:
  1116.                this.mouseListener.mousePressed(var1);
  1117.                return;
  1118.             case 502:
  1119.                this.mouseListener.mouseReleased(var1);
  1120.                return;
  1121.             case 503:
  1122.             default:
  1123.                break;
  1124.             case 504:
  1125.                this.mouseListener.mouseEntered(var1);
  1126.                return;
  1127.             case 505:
  1128.                this.mouseListener.mouseExited(var1);
  1129.                return;
  1130.          }
  1131.       }
  1132.  
  1133.    }
  1134.  
  1135.    protected void processMouseMotionEvent(MouseEvent var1) {
  1136.       if (this.mouseMotionListener != null) {
  1137.          int var2 = ((AWTEvent)var1).getID();
  1138.          switch (var2) {
  1139.             case 503:
  1140.                this.mouseMotionListener.mouseMoved(var1);
  1141.                return;
  1142.             case 506:
  1143.                this.mouseMotionListener.mouseDragged(var1);
  1144.                return;
  1145.          }
  1146.       }
  1147.  
  1148.    }
  1149.  
  1150.    boolean postsOldMouseEvents() {
  1151.       return false;
  1152.    }
  1153.  
  1154.    /** @deprecated */
  1155.    public boolean handleEvent(Event var1) {
  1156.       switch (var1.id) {
  1157.          case 401:
  1158.          case 403:
  1159.             return this.keyDown(var1, var1.key);
  1160.          case 402:
  1161.          case 404:
  1162.             return this.keyUp(var1, var1.key);
  1163.          case 501:
  1164.             return this.mouseDown(var1, var1.x, var1.y);
  1165.          case 502:
  1166.             return this.mouseUp(var1, var1.x, var1.y);
  1167.          case 503:
  1168.             return this.mouseMove(var1, var1.x, var1.y);
  1169.          case 504:
  1170.             return this.mouseEnter(var1, var1.x, var1.y);
  1171.          case 505:
  1172.             return this.mouseExit(var1, var1.x, var1.y);
  1173.          case 506:
  1174.             return this.mouseDrag(var1, var1.x, var1.y);
  1175.          case 1001:
  1176.             return this.action(var1, var1.arg);
  1177.          case 1004:
  1178.             return this.gotFocus(var1, var1.arg);
  1179.          case 1005:
  1180.             return this.lostFocus(var1, var1.arg);
  1181.          default:
  1182.             return false;
  1183.       }
  1184.    }
  1185.  
  1186.    /** @deprecated */
  1187.    public boolean mouseDown(Event var1, int var2, int var3) {
  1188.       return false;
  1189.    }
  1190.  
  1191.    /** @deprecated */
  1192.    public boolean mouseDrag(Event var1, int var2, int var3) {
  1193.       return false;
  1194.    }
  1195.  
  1196.    /** @deprecated */
  1197.    public boolean mouseUp(Event var1, int var2, int var3) {
  1198.       return false;
  1199.    }
  1200.  
  1201.    /** @deprecated */
  1202.    public boolean mouseMove(Event var1, int var2, int var3) {
  1203.       return false;
  1204.    }
  1205.  
  1206.    /** @deprecated */
  1207.    public boolean mouseEnter(Event var1, int var2, int var3) {
  1208.       return false;
  1209.    }
  1210.  
  1211.    /** @deprecated */
  1212.    public boolean mouseExit(Event var1, int var2, int var3) {
  1213.       return false;
  1214.    }
  1215.  
  1216.    /** @deprecated */
  1217.    public boolean keyDown(Event var1, int var2) {
  1218.       return false;
  1219.    }
  1220.  
  1221.    /** @deprecated */
  1222.    public boolean keyUp(Event var1, int var2) {
  1223.       return false;
  1224.    }
  1225.  
  1226.    /** @deprecated */
  1227.    public boolean action(Event var1, Object var2) {
  1228.       return false;
  1229.    }
  1230.  
  1231.    public void addNotify() {
  1232.       if (this.peer == null) {
  1233.          this.peer = this.getToolkit().createComponent(this);
  1234.          long var1 = 0L;
  1235.          if (this.mouseListener != null || (this.eventMask & 16L) != 0L) {
  1236.             var1 |= 16L;
  1237.          }
  1238.  
  1239.          if (this.mouseMotionListener != null || (this.eventMask & 32L) != 0L) {
  1240.             var1 |= 32L;
  1241.          }
  1242.  
  1243.          if (this.focusListener != null || (this.eventMask & 4L) != 0L) {
  1244.             var1 |= 4L;
  1245.          }
  1246.  
  1247.          if (this.keyListener != null || (this.eventMask & 8L) != 0L) {
  1248.             var1 |= 8L;
  1249.          }
  1250.  
  1251.          if (var1 != 0L) {
  1252.             this.parent.proxyEnableEvents(var1);
  1253.          }
  1254.       } else if (this.parent != null && this.parent.peer instanceof LightweightPeer) {
  1255.          new NativeInLightFixer(this);
  1256.       }
  1257.  
  1258.       this.invalidate();
  1259.       int var4 = this.popups != null ? this.popups.size() : 0;
  1260.  
  1261.       for(int var2 = 0; var2 < var4; ++var2) {
  1262.          PopupMenu var3 = (PopupMenu)this.popups.elementAt(var2);
  1263.          var3.addNotify();
  1264.       }
  1265.  
  1266.       for(Container var5 = this.getParent(); var5 != null; var5 = ((Component)var5).getParent()) {
  1267.          if (var5 instanceof Window) {
  1268.             ((Window)var5).getWarningString();
  1269.             return;
  1270.          }
  1271.       }
  1272.  
  1273.    }
  1274.  
  1275.    public void removeNotify() {
  1276.       int var1 = this.popups != null ? this.popups.size() : 0;
  1277.  
  1278.       for(int var2 = 0; var2 < var1; ++var2) {
  1279.          PopupMenu var3 = (PopupMenu)this.popups.elementAt(var2);
  1280.          ((Menu)var3).removeNotify();
  1281.       }
  1282.  
  1283.       if (this.peer != null) {
  1284.          ComponentPeer var4 = this.peer;
  1285.          var4.hide();
  1286.          this.peer = null;
  1287.          Toolkit.getEventQueue().removeSourceEvents(this);
  1288.          var4.dispose();
  1289.       }
  1290.  
  1291.    }
  1292.  
  1293.    /** @deprecated */
  1294.    public boolean gotFocus(Event var1, Object var2) {
  1295.       return false;
  1296.    }
  1297.  
  1298.    /** @deprecated */
  1299.    public boolean lostFocus(Event var1, Object var2) {
  1300.       return false;
  1301.    }
  1302.  
  1303.    public boolean isFocusTraversable() {
  1304.       ComponentPeer var1 = this.peer;
  1305.       return var1 != null ? var1.isFocusTraversable() : false;
  1306.    }
  1307.  
  1308.    public void requestFocus() {
  1309.       ComponentPeer var1 = this.peer;
  1310.       if (var1 != null) {
  1311.          if (var1 instanceof LightweightPeer) {
  1312.             this.parent.proxyRequestFocus(this);
  1313.             return;
  1314.          }
  1315.  
  1316.          var1.requestFocus();
  1317.          Toolkit.getEventQueue().changeKeyEventFocus(this);
  1318.       }
  1319.  
  1320.    }
  1321.  
  1322.    public void transferFocus() {
  1323.       this.nextFocus();
  1324.    }
  1325.  
  1326.    /** @deprecated */
  1327.    public void nextFocus() {
  1328.       Container var1 = this.parent;
  1329.       if (var1 != null) {
  1330.          var1.transferFocus(this);
  1331.       }
  1332.  
  1333.    }
  1334.  
  1335.    public synchronized void add(PopupMenu var1) {
  1336.       if (var1.parent != null) {
  1337.          var1.parent.remove(var1);
  1338.       }
  1339.  
  1340.       if (this.popups == null) {
  1341.          this.popups = new Vector();
  1342.       }
  1343.  
  1344.       this.popups.addElement(var1);
  1345.       var1.parent = this;
  1346.       if (this.peer != null && var1.peer == null) {
  1347.          var1.addNotify();
  1348.       }
  1349.  
  1350.    }
  1351.  
  1352.    public synchronized void remove(MenuComponent var1) {
  1353.       int var2 = this.popups.indexOf(var1);
  1354.       if (var2 >= 0) {
  1355.          PopupMenu var3 = (PopupMenu)var1;
  1356.          if (var3.peer != null) {
  1357.             ((Menu)var3).removeNotify();
  1358.          }
  1359.  
  1360.          var3.parent = null;
  1361.          this.popups.removeElementAt(var2);
  1362.          if (this.popups.size() == 0) {
  1363.             this.popups = null;
  1364.          }
  1365.       }
  1366.  
  1367.    }
  1368.  
  1369.    protected String paramString() {
  1370.       String var1 = (this.name != null ? this.name : "") + "," + this.field_0 + "," + this.field_1 + "," + this.width + "x" + this.height;
  1371.       if (!this.valid) {
  1372.          var1 = var1 + ",invalid";
  1373.       }
  1374.  
  1375.       if (!this.visible) {
  1376.          var1 = var1 + ",hidden";
  1377.       }
  1378.  
  1379.       if (!this.enabled) {
  1380.          var1 = var1 + ",disabled";
  1381.       }
  1382.  
  1383.       return var1;
  1384.    }
  1385.  
  1386.    public String toString() {
  1387.       return this.getClass().getName() + "[" + this.paramString() + "]";
  1388.    }
  1389.  
  1390.    public void list() {
  1391.       this.list((PrintStream)System.out, 0);
  1392.    }
  1393.  
  1394.    public void list(PrintStream var1) {
  1395.       this.list((PrintStream)var1, 0);
  1396.    }
  1397.  
  1398.    public void list(PrintStream var1, int var2) {
  1399.       for(int var3 = 0; var3 < var2; ++var3) {
  1400.          var1.print("  ");
  1401.       }
  1402.  
  1403.       var1.println(this);
  1404.    }
  1405.  
  1406.    public void list(PrintWriter var1) {
  1407.       this.list((PrintWriter)var1, 0);
  1408.    }
  1409.  
  1410.    public void list(PrintWriter var1, int var2) {
  1411.       for(int var3 = 0; var3 < var2; ++var3) {
  1412.          var1.print("  ");
  1413.       }
  1414.  
  1415.       var1.println(this);
  1416.    }
  1417.  
  1418.    Container getNativeContainer() {
  1419.       Container var1;
  1420.       for(var1 = this.parent; var1 != null && var1.peer instanceof LightweightPeer; var1 = ((Component)var1).getParent()) {
  1421.       }
  1422.  
  1423.       return var1;
  1424.    }
  1425.  
  1426.    private void writeObject(ObjectOutputStream var1) throws IOException {
  1427.       var1.defaultWriteObject();
  1428.       AWTEventMulticaster.save(var1, "componentL", this.componentListener);
  1429.       AWTEventMulticaster.save(var1, "focusL", this.focusListener);
  1430.       AWTEventMulticaster.save(var1, "keyL", this.keyListener);
  1431.       AWTEventMulticaster.save(var1, "mouseL", this.mouseListener);
  1432.       AWTEventMulticaster.save(var1, "mouseMotionL", this.mouseMotionListener);
  1433.       var1.writeObject((Object)null);
  1434.    }
  1435.  
  1436.    private void readObject(ObjectInputStream var1) throws ClassNotFoundException, IOException {
  1437.       var1.defaultReadObject();
  1438.  
  1439.       Object var2;
  1440.       while((var2 = var1.readObject()) != null) {
  1441.          String var3 = ((String)var2).intern();
  1442.          if (var3 == "componentL") {
  1443.             this.addComponentListener((ComponentListener)var1.readObject());
  1444.          } else if (var3 == "focusL") {
  1445.             this.addFocusListener((FocusListener)var1.readObject());
  1446.          } else if (var3 == "keyL") {
  1447.             this.addKeyListener((KeyListener)var1.readObject());
  1448.          } else if (var3 == "mouseL") {
  1449.             this.addMouseListener((MouseListener)var1.readObject());
  1450.          } else if (var3 == "mouseMotionL") {
  1451.             this.addMouseMotionListener((MouseMotionListener)var1.readObject());
  1452.          } else {
  1453.             var1.readObject();
  1454.          }
  1455.       }
  1456.  
  1457.    }
  1458.  
  1459.    static {
  1460.       String var0 = System.getProperty("awt.image.incrementaldraw");
  1461.       isInc = var0 == null || var0.equals("true");
  1462.       var0 = System.getProperty("awt.image.redrawrate");
  1463.       incRate = var0 != null ? Integer.parseInt(var0) : 100;
  1464.    }
  1465. }
  1466.