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