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

  1. package javax.swing;
  2.  
  3. import java.awt.Component;
  4. import java.awt.Container;
  5. import java.io.InvalidObjectException;
  6. import java.io.ObjectInputStream;
  7. import java.io.ObjectInputValidation;
  8. import java.util.Vector;
  9.  
  10. class JComponent$ReadObjectCallback implements ObjectInputValidation {
  11.    private final Vector roots;
  12.    private final ObjectInputStream inputStream;
  13.    // $FF: synthetic field
  14.    private final JComponent this$0;
  15.  
  16.    JComponent$ReadObjectCallback(JComponent var1, ObjectInputStream var2) throws Exception {
  17.       this.this$0 = var1;
  18.       this.roots = new Vector(1);
  19.       this.inputStream = var2;
  20.       var2.registerValidation(this, 0);
  21.    }
  22.  
  23.    public void validateObject() throws InvalidObjectException {
  24.       try {
  25.          for(int var1 = 0; var1 < this.roots.size(); ++var1) {
  26.             JComponent var2 = (JComponent)this.roots.elementAt(var1);
  27.             SwingUtilities.updateComponentTreeUI(var2);
  28.          }
  29.       } finally {
  30.          JComponent.access$300().remove(this.inputStream);
  31.       }
  32.  
  33.    }
  34.  
  35.    private void registerComponent(JComponent var1) {
  36.       for(int var2 = 0; var2 < this.roots.size(); ++var2) {
  37.          JComponent var3 = (JComponent)this.roots.elementAt(var2);
  38.  
  39.          for(Object var4 = var1; var4 != null; var4 = ((Component)var4).getParent()) {
  40.             if (var4 == var3) {
  41.                return;
  42.             }
  43.          }
  44.       }
  45.  
  46.       for(int var6 = 0; var6 < this.roots.size(); ++var6) {
  47.          JComponent var7 = (JComponent)this.roots.elementAt(var6);
  48.  
  49.          for(Container var5 = ((Component)var7).getParent(); var5 != null; var5 = ((Component)var5).getParent()) {
  50.             if (var5 == var1) {
  51.                this.roots.removeElementAt(var6--);
  52.                break;
  53.             }
  54.          }
  55.       }
  56.  
  57.       this.roots.addElement(var1);
  58.    }
  59.  
  60.    // $FF: synthetic method
  61.    static void access$400(JComponent$ReadObjectCallback var0, JComponent var1) {
  62.       var0.registerComponent(var1);
  63.    }
  64. }
  65.