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

  1. package java.awt;
  2.  
  3. import java.awt.event.ContainerEvent;
  4. import java.awt.event.ContainerListener;
  5. import java.awt.event.KeyEvent;
  6. import java.awt.peer.ContainerPeer;
  7. import java.awt.peer.LightweightPeer;
  8. import java.io.IOException;
  9. import java.io.ObjectInputStream;
  10. import java.io.ObjectOutputStream;
  11. import java.io.PrintStream;
  12. import java.io.PrintWriter;
  13.  
  14. public abstract class Container extends Component {
  15.    int ncomponents;
  16.    Component[] component = new Component[4];
  17.    LayoutManager layoutMgr;
  18.    private LightweightDispatcher dispatcher;
  19.    private Dimension maxSize;
  20.    transient ContainerListener containerListener;
  21.    private static final long serialVersionUID = 4613797578919906343L;
  22.    private int containerSerializedDataVersion = 1;
  23.  
  24.    protected Container() {
  25.    }
  26.  
  27.    public int getComponentCount() {
  28.       return this.countComponents();
  29.    }
  30.  
  31.    /** @deprecated */
  32.    public int countComponents() {
  33.       return this.ncomponents;
  34.    }
  35.  
  36.    public Component getComponent(int var1) {
  37.       Object var3 = Component.LOCK;
  38.       synchronized(var3){}
  39.  
  40.       Component var2;
  41.       try {
  42.          if (var1 < 0 || var1 >= this.ncomponents) {
  43.             throw new ArrayIndexOutOfBoundsException("No such child: " + var1);
  44.          }
  45.  
  46.          var2 = this.component[var1];
  47.       } catch (Throwable var6) {
  48.          throw var6;
  49.       }
  50.  
  51.       return var2;
  52.    }
  53.  
  54.    public Component[] getComponents() {
  55.       Object var2 = Component.LOCK;
  56.       synchronized(var2){}
  57.  
  58.       Component[] var1;
  59.       try {
  60.          Component[] var4 = new Component[this.ncomponents];
  61.          System.arraycopy(this.component, 0, var4, 0, this.ncomponents);
  62.          var1 = var4;
  63.       } catch (Throwable var6) {
  64.          throw var6;
  65.       }
  66.  
  67.       return var1;
  68.    }
  69.  
  70.    public Insets getInsets() {
  71.       return this.insets();
  72.    }
  73.  
  74.    /** @deprecated */
  75.    public Insets insets() {
  76.       if (super.peer != null && super.peer instanceof ContainerPeer) {
  77.          ContainerPeer var1 = (ContainerPeer)super.peer;
  78.          return var1.insets();
  79.       } else {
  80.          return new Insets(0, 0, 0, 0);
  81.       }
  82.    }
  83.  
  84.    public Component add(Component var1) {
  85.       this.addImpl(var1, (Object)null, -1);
  86.       return var1;
  87.    }
  88.  
  89.    public Component add(String var1, Component var2) {
  90.       this.addImpl(var2, var1, -1);
  91.       return var2;
  92.    }
  93.  
  94.    public Component add(Component var1, int var2) {
  95.       this.addImpl(var1, (Object)null, var2);
  96.       return var1;
  97.    }
  98.  
  99.    public void add(Component var1, Object var2) {
  100.       this.addImpl(var1, var2, -1);
  101.    }
  102.  
  103.    public void add(Component var1, Object var2, int var3) {
  104.       this.addImpl(var1, var2, var3);
  105.    }
  106.  
  107.    protected void addImpl(Component var1, Object var2, int var3) {
  108.       Object var4 = Component.LOCK;
  109.       synchronized(var4){}
  110.  
  111.       try {
  112.          if (var3 > this.ncomponents || var3 < 0 && var3 != -1) {
  113.             throw new IllegalArgumentException("illegal component position");
  114.          }
  115.  
  116.          if (var1 instanceof Container) {
  117.             for(Container var6 = this; var6 != null; var6 = var6.parent) {
  118.                if (var6 == var1) {
  119.                   throw new IllegalArgumentException("adding container's parent to itself");
  120.                }
  121.             }
  122.          }
  123.  
  124.          if (var1 instanceof Window) {
  125.             throw new IllegalArgumentException("adding a window to a container");
  126.          }
  127.  
  128.          if (var1.parent != null) {
  129.             var1.parent.remove(var1);
  130.          }
  131.  
  132.          if (this.ncomponents == this.component.length) {
  133.             Component[] var9 = new Component[this.ncomponents * 2];
  134.             System.arraycopy(this.component, 0, var9, 0, this.ncomponents);
  135.             this.component = var9;
  136.          }
  137.  
  138.          if (var3 != -1 && var3 != this.ncomponents) {
  139.             System.arraycopy(this.component, var3, this.component, var3 + 1, this.ncomponents - var3);
  140.             this.component[var3] = var1;
  141.             ++this.ncomponents;
  142.          } else {
  143.             this.component[this.ncomponents++] = var1;
  144.          }
  145.  
  146.          var1.parent = this;
  147.          if (super.valid) {
  148.             this.invalidate();
  149.          }
  150.  
  151.          if (super.peer != null) {
  152.             var1.addNotify();
  153.          }
  154.  
  155.          if (this.layoutMgr != null) {
  156.             if (this.layoutMgr instanceof LayoutManager2) {
  157.                ((LayoutManager2)this.layoutMgr).addLayoutComponent(var1, var2);
  158.             } else if (var2 instanceof String) {
  159.                this.layoutMgr.addLayoutComponent((String)var2, var1);
  160.             }
  161.          }
  162.  
  163.          if (this.containerListener != null || (super.eventMask & 2L) != 0L) {
  164.             ContainerEvent var10 = new ContainerEvent(this, 300, var1);
  165.             this.processEvent(var10);
  166.          }
  167.       } catch (Throwable var8) {
  168.          throw var8;
  169.       }
  170.  
  171.    }
  172.  
  173.    public void remove(int var1) {
  174.       Object var2 = Component.LOCK;
  175.       synchronized(var2){}
  176.  
  177.       try {
  178.          Component var4 = this.component[var1];
  179.          if (super.peer != null) {
  180.             var4.removeNotify();
  181.          }
  182.  
  183.          if (this.layoutMgr != null) {
  184.             this.layoutMgr.removeLayoutComponent(var4);
  185.          }
  186.  
  187.          var4.parent = null;
  188.          System.arraycopy(this.component, var1 + 1, this.component, var1, this.ncomponents - var1 - 1);
  189.          this.component[--this.ncomponents] = null;
  190.          if (super.valid) {
  191.             this.invalidate();
  192.          }
  193.  
  194.          if (this.containerListener != null || (super.eventMask & 2L) != 0L) {
  195.             ContainerEvent var5 = new ContainerEvent(this, 301, var4);
  196.             this.processEvent(var5);
  197.          }
  198.       } catch (Throwable var7) {
  199.          throw var7;
  200.       }
  201.  
  202.    }
  203.  
  204.    public void remove(Component var1) {
  205.       Object var2 = Component.LOCK;
  206.       synchronized(var2){}
  207.  
  208.       try {
  209.          if (var1.parent == this) {
  210.             int var4 = this.ncomponents;
  211.  
  212.             while(true) {
  213.                --var4;
  214.                if (var4 < 0) {
  215.                   break;
  216.                }
  217.  
  218.                if (this.component[var4] == var1) {
  219.                   this.remove(var4);
  220.                }
  221.             }
  222.          }
  223.       } catch (Throwable var6) {
  224.          throw var6;
  225.       }
  226.  
  227.    }
  228.  
  229.    public void removeAll() {
  230.       Object var1 = Component.LOCK;
  231.       synchronized(var1){}
  232.  
  233.       try {
  234.          while(this.ncomponents > 0) {
  235.             Component var3 = this.component[--this.ncomponents];
  236.             this.component[this.ncomponents] = null;
  237.             if (super.peer != null) {
  238.                var3.removeNotify();
  239.             }
  240.  
  241.             if (this.layoutMgr != null) {
  242.                this.layoutMgr.removeLayoutComponent(var3);
  243.             }
  244.  
  245.             var3.parent = null;
  246.             if (this.containerListener != null || (super.eventMask & 2L) != 0L) {
  247.                ContainerEvent var4 = new ContainerEvent(this, 301, var3);
  248.                this.processEvent(var4);
  249.             }
  250.          }
  251.  
  252.          if (super.valid) {
  253.             this.invalidate();
  254.          }
  255.       } catch (Throwable var6) {
  256.          throw var6;
  257.       }
  258.  
  259.    }
  260.  
  261.    public LayoutManager getLayout() {
  262.       return this.layoutMgr;
  263.    }
  264.  
  265.    public void setLayout(LayoutManager var1) {
  266.       this.layoutMgr = var1;
  267.       if (super.valid) {
  268.          this.invalidate();
  269.       }
  270.  
  271.    }
  272.  
  273.    public void doLayout() {
  274.       this.layout();
  275.    }
  276.  
  277.    /** @deprecated */
  278.    public void layout() {
  279.       LayoutManager var1 = this.layoutMgr;
  280.       if (var1 != null) {
  281.          var1.layoutContainer(this);
  282.       }
  283.  
  284.    }
  285.  
  286.    public void invalidate() {
  287.       if (this.layoutMgr instanceof LayoutManager2) {
  288.          LayoutManager2 var1 = (LayoutManager2)this.layoutMgr;
  289.          var1.invalidateLayout(this);
  290.       }
  291.  
  292.       super.invalidate();
  293.    }
  294.  
  295.    public void validate() {
  296.       if (!super.valid) {
  297.          Object var1 = Component.LOCK;
  298.          synchronized(var1){}
  299.  
  300.          try {
  301.             if (!super.valid && super.peer != null) {
  302.                ((Component)this).getCursor();
  303.                ContainerPeer var3 = null;
  304.                if (super.peer instanceof ContainerPeer) {
  305.                   var3 = (ContainerPeer)super.peer;
  306.                }
  307.  
  308.                if (var3 != null) {
  309.                   var3.beginValidate();
  310.                }
  311.  
  312.                this.validateTree();
  313.                super.valid = true;
  314.                if (var3 != null) {
  315.                   var3.endValidate();
  316.                }
  317.             }
  318.          } catch (Throwable var5) {
  319.             throw var5;
  320.          }
  321.  
  322.       }
  323.    }
  324.  
  325.    protected void validateTree() {
  326.       if (!super.valid) {
  327.          this.doLayout();
  328.  
  329.          for(int var1 = 0; var1 < this.ncomponents; ++var1) {
  330.             Component var2 = this.component[var1];
  331.             if (var2 instanceof Container && !(var2 instanceof Window) && !var2.valid) {
  332.                ((Container)var2).validateTree();
  333.             } else {
  334.                var2.valid = true;
  335.             }
  336.          }
  337.       }
  338.  
  339.       super.valid = true;
  340.    }
  341.  
  342.    public Dimension getPreferredSize() {
  343.       return this.preferredSize();
  344.    }
  345.  
  346.    /** @deprecated */
  347.    public Dimension preferredSize() {
  348.       Dimension var1 = super.prefSize;
  349.       if (var1 != null && ((Component)this).isValid()) {
  350.          return var1;
  351.       } else {
  352.          Object var3 = Component.LOCK;
  353.          synchronized(var3){}
  354.  
  355.          Dimension var2;
  356.          try {
  357.             super.prefSize = this.layoutMgr != null ? this.layoutMgr.preferredLayoutSize(this) : super.preferredSize();
  358.             var2 = super.prefSize;
  359.          } catch (Throwable var6) {
  360.             throw var6;
  361.          }
  362.  
  363.          return var2;
  364.       }
  365.    }
  366.  
  367.    public Dimension getMinimumSize() {
  368.       return this.minimumSize();
  369.    }
  370.  
  371.    /** @deprecated */
  372.    public Dimension minimumSize() {
  373.       Dimension var1 = super.minSize;
  374.       if (var1 != null && ((Component)this).isValid()) {
  375.          return var1;
  376.       } else {
  377.          Object var3 = Component.LOCK;
  378.          synchronized(var3){}
  379.  
  380.          Dimension var2;
  381.          try {
  382.             super.minSize = this.layoutMgr != null ? this.layoutMgr.minimumLayoutSize(this) : super.minimumSize();
  383.             var2 = super.minSize;
  384.          } catch (Throwable var6) {
  385.             throw var6;
  386.          }
  387.  
  388.          return var2;
  389.       }
  390.    }
  391.  
  392.    public Dimension getMaximumSize() {
  393.       Dimension var1 = this.maxSize;
  394.       if (var1 != null && ((Component)this).isValid()) {
  395.          return var1;
  396.       } else {
  397.          if (this.layoutMgr instanceof LayoutManager2) {
  398.             Object var2 = Component.LOCK;
  399.             synchronized(var2){}
  400.  
  401.             try {
  402.                LayoutManager2 var4 = (LayoutManager2)this.layoutMgr;
  403.                this.maxSize = var4.maximumLayoutSize(this);
  404.             } catch (Throwable var6) {
  405.                throw var6;
  406.             }
  407.          } else {
  408.             this.maxSize = super.getMaximumSize();
  409.          }
  410.  
  411.          return this.maxSize;
  412.       }
  413.    }
  414.  
  415.    public float getAlignmentX() {
  416.       float var1;
  417.       if (this.layoutMgr instanceof LayoutManager2) {
  418.          Object var2 = Component.LOCK;
  419.          synchronized(var2){}
  420.  
  421.          try {
  422.             LayoutManager2 var4 = (LayoutManager2)this.layoutMgr;
  423.             var1 = var4.getLayoutAlignmentX(this);
  424.          } catch (Throwable var6) {
  425.             throw var6;
  426.          }
  427.       } else {
  428.          var1 = super.getAlignmentX();
  429.       }
  430.  
  431.       return var1;
  432.    }
  433.  
  434.    public float getAlignmentY() {
  435.       float var1;
  436.       if (this.layoutMgr instanceof LayoutManager2) {
  437.          Object var2 = Component.LOCK;
  438.          synchronized(var2){}
  439.  
  440.          try {
  441.             LayoutManager2 var4 = (LayoutManager2)this.layoutMgr;
  442.             var1 = var4.getLayoutAlignmentY(this);
  443.          } catch (Throwable var6) {
  444.             throw var6;
  445.          }
  446.       } else {
  447.          var1 = super.getAlignmentY();
  448.       }
  449.  
  450.       return var1;
  451.    }
  452.  
  453.    public void paint(Graphics var1) {
  454.       if (((Component)this).isShowing()) {
  455.          int var2 = this.ncomponents;
  456.          Rectangle var3 = var1.getClipRect();
  457.  
  458.          for(int var4 = var2 - 1; var4 >= 0; --var4) {
  459.             Component var5 = this.component[var4];
  460.             if (var5 != null && var5.peer instanceof LightweightPeer && var5.visible) {
  461.                Rectangle var6 = var5.getBounds();
  462.                if (var3 == null || var6.intersects(var3)) {
  463.                   Graphics var7 = var1.create(var6.x, var6.y, var6.width, var6.height);
  464.  
  465.                   try {
  466.                      var5.paint(var7);
  467.                   } finally {
  468.                      var7.dispose();
  469.                   }
  470.                }
  471.             }
  472.          }
  473.       }
  474.  
  475.    }
  476.  
  477.    public void print(Graphics var1) {
  478.       super.print(var1);
  479.       int var2 = this.ncomponents;
  480.       Rectangle var3 = var1.getClipRect();
  481.  
  482.       for(int var4 = var2 - 1; var4 >= 0; --var4) {
  483.          Component var5 = this.component[var4];
  484.          if (var5 != null && var5.peer instanceof LightweightPeer) {
  485.             Rectangle var6 = var5.getBounds();
  486.             if (var6.intersects(var3)) {
  487.                Graphics var7 = var1.create(var6.x, var6.y, var6.width, var6.height);
  488.  
  489.                try {
  490.                   var5.print(var7);
  491.                } finally {
  492.                   var7.dispose();
  493.                }
  494.             }
  495.          }
  496.       }
  497.  
  498.    }
  499.  
  500.    public void paintComponents(Graphics var1) {
  501.       int var2 = this.ncomponents;
  502.  
  503.       for(int var3 = var2 - 1; var3 >= 0; --var3) {
  504.          Component var4 = this.component[var3];
  505.          if (var4 != null) {
  506.             Graphics var5 = var4.getGraphics();
  507.             Rectangle var6 = var1.getClipRect();
  508.             if (var6 != null) {
  509.                Rectangle var7 = var4.getBounds();
  510.                if (!var7.intersects(var6)) {
  511.                   continue;
  512.                }
  513.  
  514.                Rectangle var8 = var7.intersection(var6);
  515.                var8.translate(-var7.x, -var7.y);
  516.                var5.clipRect(var8.x, var8.y, var8.width, var8.height);
  517.             }
  518.  
  519.             try {
  520.                var4.paintAll(var5);
  521.             } finally {
  522.                var5.dispose();
  523.             }
  524.          }
  525.       }
  526.  
  527.    }
  528.  
  529.    public void printComponents(Graphics var1) {
  530.       int var2 = this.ncomponents;
  531.  
  532.       for(int var3 = 0; var3 < var2; ++var3) {
  533.          Component var4 = this.component[var3];
  534.          if (var4 != null) {
  535.             Graphics var5 = var1.create(var4.x, var4.y, var4.width, var4.height);
  536.  
  537.             try {
  538.                var4.printAll(var5);
  539.             } finally {
  540.                var5.dispose();
  541.             }
  542.          }
  543.       }
  544.  
  545.    }
  546.  
  547.    public synchronized void addContainerListener(ContainerListener var1) {
  548.       this.containerListener = AWTEventMulticaster.add(this.containerListener, var1);
  549.       super.newEventsOnly = true;
  550.    }
  551.  
  552.    public void removeContainerListener(ContainerListener var1) {
  553.       this.containerListener = AWTEventMulticaster.remove(this.containerListener, var1);
  554.    }
  555.  
  556.    boolean eventEnabled(AWTEvent var1) {
  557.       int var2 = var1.getID();
  558.       if (var2 != 300 && var2 != 301) {
  559.          return super.eventEnabled(var1);
  560.       } else {
  561.          return (super.eventMask & 2L) != 0L || this.containerListener != null;
  562.       }
  563.    }
  564.  
  565.    protected void processEvent(AWTEvent var1) {
  566.       if (var1 instanceof ContainerEvent) {
  567.          this.processContainerEvent((ContainerEvent)var1);
  568.       } else {
  569.          super.processEvent(var1);
  570.       }
  571.    }
  572.  
  573.    protected void processContainerEvent(ContainerEvent var1) {
  574.       if (this.containerListener != null) {
  575.          switch (((AWTEvent)var1).getID()) {
  576.             case 300:
  577.                this.containerListener.componentAdded(var1);
  578.                return;
  579.             case 301:
  580.                this.containerListener.componentRemoved(var1);
  581.                return;
  582.          }
  583.       }
  584.  
  585.    }
  586.  
  587.    void dispatchEventImpl(AWTEvent var1) {
  588.       if (this.dispatcher != null && this.dispatcher.dispatchEvent(var1)) {
  589.          var1.consume();
  590.          if (super.peer != null) {
  591.             super.peer.handleEvent(var1);
  592.          }
  593.  
  594.       } else {
  595.          super.dispatchEventImpl(var1);
  596.       }
  597.    }
  598.  
  599.    Component getMouseEventTarget(int var1, int var2) {
  600.       int var3 = this.ncomponents;
  601.  
  602.       for(int var4 = 0; var4 < var3; ++var4) {
  603.          Component var5 = this.component[var4];
  604.          if (var5 != null && var5.contains(var1 - var5.x, var2 - var5.y) && var5.peer instanceof LightweightPeer && var5.visible) {
  605.             if (var5 instanceof Container) {
  606.                Container var6 = (Container)var5;
  607.                Component var7 = var6.getMouseEventTarget(var1 - var6.x, var2 - var6.y);
  608.                if (var7 != null) {
  609.                   return var7;
  610.                }
  611.             } else if (var5.mouseListener != null || (var5.eventMask & 16L) != 0L || var5.mouseMotionListener != null || (var5.eventMask & 32L) != 0L) {
  612.                return var5;
  613.             }
  614.          }
  615.       }
  616.  
  617.       if ((super.mouseListener != null || (super.eventMask & 16L) != 0L || super.mouseMotionListener != null || (super.eventMask & 32L) != 0L) && super.peer instanceof LightweightPeer) {
  618.          return this;
  619.       } else {
  620.          return null;
  621.       }
  622.    }
  623.  
  624.    void proxyEnableEvents(long var1) {
  625.       if (super.peer instanceof LightweightPeer) {
  626.          super.parent.proxyEnableEvents(var1);
  627.       } else {
  628.          if (this.dispatcher != null) {
  629.             this.dispatcher.enableEvents(var1);
  630.          }
  631.  
  632.       }
  633.    }
  634.  
  635.    Window getWindow() {
  636.       Container var1;
  637.       for(var1 = this; !(var1 instanceof Window); var1 = ((Component)var1).getParent()) {
  638.       }
  639.  
  640.       return (Window)var1;
  641.    }
  642.  
  643.    void proxyRequestFocus(Component var1) {
  644.       if (super.peer instanceof LightweightPeer) {
  645.          super.parent.proxyRequestFocus(var1);
  646.       } else {
  647.          if (this.dispatcher.setFocusRequest(var1)) {
  648.             super.peer.requestFocus();
  649.             Toolkit.getEventQueue().changeKeyEventFocus(this);
  650.          }
  651.  
  652.       }
  653.    }
  654.  
  655.    /** @deprecated */
  656.    public void deliverEvent(Event var1) {
  657.       Component var2 = this.getComponentAt(var1.x, var1.y);
  658.       if (var2 != null && var2 != this) {
  659.          var1.translate(-var2.x, -var2.y);
  660.          var2.deliverEvent(var1);
  661.       } else {
  662.          ((Component)this).postEvent(var1);
  663.       }
  664.    }
  665.  
  666.    public Component getComponentAt(int var1, int var2) {
  667.       return this.locate(var1, var2);
  668.    }
  669.  
  670.    /** @deprecated */
  671.    public Component locate(int var1, int var2) {
  672.       if (!((Component)this).contains(var1, var2)) {
  673.          return null;
  674.       } else {
  675.          int var3 = this.ncomponents;
  676.  
  677.          for(int var4 = 0; var4 < var3; ++var4) {
  678.             Component var5 = this.component[var4];
  679.             if (var5 != null && var5.contains(var1 - var5.x, var2 - var5.y)) {
  680.                return var5;
  681.             }
  682.          }
  683.  
  684.          return this;
  685.       }
  686.    }
  687.  
  688.    public Component getComponentAt(Point var1) {
  689.       return this.getComponentAt(var1.x, var1.y);
  690.    }
  691.  
  692.    public void addNotify() {
  693.       super.addNotify();
  694.       if (!(super.peer instanceof LightweightPeer)) {
  695.          this.dispatcher = new LightweightDispatcher(this);
  696.       }
  697.  
  698.       int var1 = this.ncomponents;
  699.  
  700.       for(int var2 = 0; var2 < var1; ++var2) {
  701.          this.component[var2].addNotify();
  702.       }
  703.  
  704.    }
  705.  
  706.    public void removeNotify() {
  707.       int var1 = this.ncomponents;
  708.  
  709.       for(int var2 = 0; var2 < var1; ++var2) {
  710.          this.component[var2].removeNotify();
  711.       }
  712.  
  713.       super.removeNotify();
  714.    }
  715.  
  716.    public boolean isAncestorOf(Component var1) {
  717.       Container var2;
  718.       if (var1 != null && (var2 = var1.getParent()) != null) {
  719.          while(var2 != null) {
  720.             if (var2 == this) {
  721.                return true;
  722.             }
  723.  
  724.             var2 = ((Component)var2).getParent();
  725.          }
  726.  
  727.          return false;
  728.       } else {
  729.          return false;
  730.       }
  731.    }
  732.  
  733.    protected String paramString() {
  734.       String var1 = super.paramString();
  735.       LayoutManager var2 = this.layoutMgr;
  736.       if (var2 != null) {
  737.          var1 = var1 + ",layout=" + var2.getClass().getName();
  738.       }
  739.  
  740.       return var1;
  741.    }
  742.  
  743.    public void list(PrintStream var1, int var2) {
  744.       super.list(var1, var2);
  745.       int var3 = this.ncomponents;
  746.  
  747.       for(int var4 = 0; var4 < var3; ++var4) {
  748.          Component var5 = this.component[var4];
  749.          if (var5 != null) {
  750.             var5.list(var1, var2 + 1);
  751.          }
  752.       }
  753.  
  754.    }
  755.  
  756.    public void list(PrintWriter var1, int var2) {
  757.       super.list(var1, var2);
  758.       int var3 = this.ncomponents;
  759.  
  760.       for(int var4 = 0; var4 < var3; ++var4) {
  761.          Component var5 = this.component[var4];
  762.          if (var5 != null) {
  763.             var5.list(var1, var2 + 1);
  764.          }
  765.       }
  766.  
  767.    }
  768.  
  769.    void setFocusOwner(Component var1) {
  770.       Container var2 = super.parent;
  771.       if (var2 != null) {
  772.          var2.setFocusOwner(var1);
  773.       }
  774.  
  775.    }
  776.  
  777.    void preProcessKeyEvent(KeyEvent var1) {
  778.       Container var2 = super.parent;
  779.       if (var2 != null) {
  780.          var2.preProcessKeyEvent(var1);
  781.       }
  782.  
  783.    }
  784.  
  785.    void postProcessKeyEvent(KeyEvent var1) {
  786.       Container var2 = super.parent;
  787.       if (var2 != null) {
  788.          var2.postProcessKeyEvent(var1);
  789.       }
  790.  
  791.    }
  792.  
  793.    void transferFocus(Component var1) {
  794.       this.nextFocus(var1);
  795.    }
  796.  
  797.    boolean postsOldMouseEvents() {
  798.       return true;
  799.    }
  800.  
  801.    /** @deprecated */
  802.    void nextFocus(Component var1) {
  803.       Container var2 = super.parent;
  804.       if (var2 != null) {
  805.          var2.transferFocus(var1);
  806.       }
  807.  
  808.    }
  809.  
  810.    private void writeObject(ObjectOutputStream var1) throws IOException {
  811.       var1.defaultWriteObject();
  812.       AWTEventMulticaster.save(var1, "containerL", this.containerListener);
  813.       var1.writeObject((Object)null);
  814.    }
  815.  
  816.    private void readObject(ObjectInputStream var1) throws ClassNotFoundException, IOException {
  817.       var1.defaultReadObject();
  818.  
  819.       for(int var2 = 0; var2 < this.ncomponents; ++var2) {
  820.          this.component[var2].parent = this;
  821.       }
  822.  
  823.       Object var3;
  824.       while((var3 = var1.readObject()) != null) {
  825.          String var4 = ((String)var3).intern();
  826.          if (var4 == "containerL") {
  827.             this.addContainerListener((ContainerListener)var1.readObject());
  828.          } else {
  829.             var1.readObject();
  830.          }
  831.       }
  832.  
  833.    }
  834. }
  835.