home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / java / awt / Frame.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  6.9 KB  |  376 lines

  1. package java.awt;
  2.  
  3. import java.awt.event.InputEvent;
  4. import java.awt.event.KeyEvent;
  5. import java.awt.peer.FramePeer;
  6. import java.io.IOException;
  7. import java.io.ObjectInputStream;
  8. import java.io.ObjectOutputStream;
  9. import java.lang.ref.WeakReference;
  10. import java.util.Vector;
  11. import javax.accessibility.AccessibleContext;
  12. import sun.awt.AppContext;
  13.  
  14. public class Frame extends Window implements MenuContainer {
  15.    public static final int DEFAULT_CURSOR = 0;
  16.    public static final int CROSSHAIR_CURSOR = 1;
  17.    public static final int TEXT_CURSOR = 2;
  18.    public static final int WAIT_CURSOR = 3;
  19.    public static final int SW_RESIZE_CURSOR = 4;
  20.    public static final int SE_RESIZE_CURSOR = 5;
  21.    public static final int NW_RESIZE_CURSOR = 6;
  22.    public static final int NE_RESIZE_CURSOR = 7;
  23.    public static final int N_RESIZE_CURSOR = 8;
  24.    public static final int S_RESIZE_CURSOR = 9;
  25.    public static final int W_RESIZE_CURSOR = 10;
  26.    public static final int E_RESIZE_CURSOR = 11;
  27.    public static final int HAND_CURSOR = 12;
  28.    public static final int MOVE_CURSOR = 13;
  29.    public static final int NORMAL = 0;
  30.    public static final int ICONIFIED = 1;
  31.    String title;
  32.    Image icon;
  33.    MenuBar menuBar;
  34.    boolean resizable;
  35.    boolean mbManagement;
  36.    private int state;
  37.    Vector ownedWindows;
  38.    private transient WeakReference weakThis;
  39.    private static final String base = "frame";
  40.    private static int nameCounter = 0;
  41.    private static final long serialVersionUID = 2673458971256075116L;
  42.    private int frameSerializedDataVersion;
  43.    // $FF: synthetic field
  44.    static Class class$java$awt$Frame;
  45.  
  46.    public Frame() {
  47.       this("", (GraphicsConfiguration)null);
  48.    }
  49.  
  50.    public Frame(GraphicsConfiguration var1) {
  51.       this("", var1);
  52.    }
  53.  
  54.    public Frame(String var1) {
  55.       this(var1, (GraphicsConfiguration)null);
  56.    }
  57.  
  58.    public Frame(String var1, GraphicsConfiguration var2) {
  59.       super(var2);
  60.       this.title = "Untitled";
  61.       this.resizable = true;
  62.       this.mbManagement = false;
  63.       this.state = 0;
  64.       this.frameSerializedDataVersion = 1;
  65.       this.title = var1;
  66.       this.weakThis = new WeakReference(this);
  67.       this.addToFrameList();
  68.    }
  69.  
  70.    protected void finalize() throws Throwable {
  71.       this.removeFromFrameList();
  72.       super.finalize();
  73.    }
  74.  
  75.    String constructComponentName() {
  76.       Class var1 = this.getClass();
  77.       synchronized(var1) {
  78.          String var2 = "frame" + nameCounter++;
  79.          return var2;
  80.       }
  81.    }
  82.  
  83.    public void addNotify() {
  84.       Object var1 = ((Component)this).getTreeLock();
  85.       synchronized(var1) {
  86.          if (super.peer == null) {
  87.             super.peer = ((Window)this).getToolkit().createFrame(this);
  88.          }
  89.  
  90.          MenuBar var2 = this.menuBar;
  91.          if (var2 != null) {
  92.             this.mbManagement = true;
  93.             var2.addNotify();
  94.             ((FramePeer)super.peer).setMenuBar(var2);
  95.          }
  96.  
  97.          super.addNotify();
  98.       }
  99.    }
  100.  
  101.    public String getTitle() {
  102.       return this.title;
  103.    }
  104.  
  105.    public synchronized void setTitle(String var1) {
  106.       this.title = var1;
  107.       FramePeer var2 = (FramePeer)super.peer;
  108.       if (var2 != null) {
  109.          var2.setTitle(var1);
  110.       }
  111.  
  112.    }
  113.  
  114.    public Image getIconImage() {
  115.       return this.icon;
  116.    }
  117.  
  118.    public synchronized void setIconImage(Image var1) {
  119.       this.icon = var1;
  120.       FramePeer var2 = (FramePeer)super.peer;
  121.       if (var2 != null) {
  122.          var2.setIconImage(var1);
  123.       }
  124.  
  125.    }
  126.  
  127.    public MenuBar getMenuBar() {
  128.       return this.menuBar;
  129.    }
  130.  
  131.    public void setMenuBar(MenuBar var1) {
  132.       Object var2 = ((Component)this).getTreeLock();
  133.       synchronized(var2) {
  134.          if (this.menuBar != var1) {
  135.             if (var1 != null && var1.parent != null) {
  136.                var1.parent.remove(var1);
  137.             }
  138.  
  139.             if (this.menuBar != null) {
  140.                this.remove(this.menuBar);
  141.             }
  142.  
  143.             this.menuBar = var1;
  144.             if (this.menuBar != null) {
  145.                this.menuBar.parent = this;
  146.                FramePeer var3 = (FramePeer)super.peer;
  147.                if (var3 != null) {
  148.                   this.mbManagement = true;
  149.                   this.menuBar.addNotify();
  150.                   if (super.valid) {
  151.                      ((Container)this).invalidate();
  152.                   }
  153.  
  154.                   var3.setMenuBar(this.menuBar);
  155.                }
  156.             }
  157.  
  158.          }
  159.       }
  160.    }
  161.  
  162.    public boolean isResizable() {
  163.       return this.resizable;
  164.    }
  165.  
  166.    public void setResizable(boolean var1) {
  167.       boolean var2 = false;
  168.       synchronized(this) {
  169.          this.resizable = var1;
  170.          FramePeer var4 = (FramePeer)super.peer;
  171.          if (var4 != null) {
  172.             var4.setResizable(var1);
  173.             var2 = true;
  174.          }
  175.       }
  176.  
  177.       if (var2 && super.valid) {
  178.          ((Container)this).invalidate();
  179.       }
  180.  
  181.    }
  182.  
  183.    public synchronized void setState(int var1) {
  184.       this.state = var1;
  185.       FramePeer var2 = (FramePeer)super.peer;
  186.       if (var2 != null) {
  187.          var2.setState(var1);
  188.       }
  189.  
  190.    }
  191.  
  192.    public synchronized int getState() {
  193.       FramePeer var1 = (FramePeer)super.peer;
  194.       if (var1 != null) {
  195.          this.state = var1.getState();
  196.       }
  197.  
  198.       return this.state;
  199.    }
  200.  
  201.    public void remove(MenuComponent var1) {
  202.       Object var2 = ((Component)this).getTreeLock();
  203.       synchronized(var2) {
  204.          if (var1 == this.menuBar) {
  205.             this.menuBar = null;
  206.             FramePeer var3 = (FramePeer)super.peer;
  207.             if (var3 != null) {
  208.                this.mbManagement = true;
  209.                if (super.valid) {
  210.                   ((Container)this).invalidate();
  211.                }
  212.  
  213.                var3.setMenuBar((MenuBar)null);
  214.                var1.removeNotify();
  215.             }
  216.  
  217.             var1.parent = null;
  218.          } else {
  219.             super.remove(var1);
  220.          }
  221.  
  222.       }
  223.    }
  224.  
  225.    public void removeNotify() {
  226.       Object var1 = ((Component)this).getTreeLock();
  227.       synchronized(var1) {
  228.          FramePeer var2 = (FramePeer)super.peer;
  229.          if (var2 != null) {
  230.             this.getState();
  231.             if (this.menuBar != null) {
  232.                this.mbManagement = true;
  233.                var2.setMenuBar((MenuBar)null);
  234.                this.menuBar.removeNotify();
  235.             }
  236.          }
  237.  
  238.          super.removeNotify();
  239.       }
  240.    }
  241.  
  242.    void postProcessKeyEvent(KeyEvent var1) {
  243.       if (this.menuBar != null && this.menuBar.handleShortcut(var1)) {
  244.          ((InputEvent)var1).consume();
  245.       } else {
  246.          super.postProcessKeyEvent(var1);
  247.       }
  248.    }
  249.  
  250.    protected String paramString() {
  251.       String var1 = super.paramString();
  252.       if (this.resizable) {
  253.          var1 = var1 + ",resizable";
  254.       }
  255.  
  256.       if (this.title != null) {
  257.          var1 = var1 + ",title=" + this.title;
  258.       }
  259.  
  260.       return var1;
  261.    }
  262.  
  263.    public void setCursor(int var1) {
  264.       if (var1 >= 0 && var1 <= 13) {
  265.          ((Window)this).setCursor(Cursor.getPredefinedCursor(var1));
  266.       } else {
  267.          throw new IllegalArgumentException("illegal cursor type");
  268.       }
  269.    }
  270.  
  271.    public int getCursorType() {
  272.       return ((Component)this).getCursor().getType();
  273.    }
  274.  
  275.    public static Frame[] getFrames() {
  276.       Class var0 = class$java$awt$Frame == null ? (class$java$awt$Frame = class$("java.awt.Frame")) : class$java$awt$Frame;
  277.       synchronized(var0) {
  278.          Vector var2 = (Vector)AppContext.getAppContext().get(class$java$awt$Frame == null ? (class$java$awt$Frame = class$("java.awt.Frame")) : class$java$awt$Frame);
  279.          Frame[] var1;
  280.          if (var2 != null) {
  281.             int var3 = var2.size();
  282.             int var4 = 0;
  283.             Frame[] var5 = new Frame[var3];
  284.  
  285.             for(int var6 = 0; var6 < var3; ++var6) {
  286.                var5[var4] = (Frame)((WeakReference)var2.elementAt(var6)).get();
  287.                if (var5[var4] != null) {
  288.                   ++var4;
  289.                }
  290.             }
  291.  
  292.             if (var3 != var4) {
  293.                var1 = new Frame[var4];
  294.                System.arraycopy(var5, 0, var1, 0, var4);
  295.             } else {
  296.                var1 = var5;
  297.             }
  298.          } else {
  299.             var1 = new Frame[0];
  300.          }
  301.  
  302.          return var1;
  303.       }
  304.    }
  305.  
  306.    void addToFrameList() {
  307.       Class var1 = class$java$awt$Frame == null ? (class$java$awt$Frame = class$("java.awt.Frame")) : class$java$awt$Frame;
  308.       synchronized(var1) {
  309.          Vector var2 = (Vector)super.appContext.get(class$java$awt$Frame == null ? (class$java$awt$Frame = class$("java.awt.Frame")) : class$java$awt$Frame);
  310.          if (var2 == null) {
  311.             var2 = new Vector();
  312.             super.appContext.put(class$java$awt$Frame == null ? (class$java$awt$Frame = class$("java.awt.Frame")) : class$java$awt$Frame, var2);
  313.          }
  314.  
  315.          var2.addElement(this.weakThis);
  316.       }
  317.    }
  318.  
  319.    void removeFromFrameList() {
  320.       Class var1 = class$java$awt$Frame == null ? (class$java$awt$Frame = class$("java.awt.Frame")) : class$java$awt$Frame;
  321.       synchronized(var1) {
  322.          Vector var2 = (Vector)super.appContext.get(class$java$awt$Frame == null ? (class$java$awt$Frame = class$("java.awt.Frame")) : class$java$awt$Frame);
  323.          if (var2 != null) {
  324.             var2.removeElement(this.weakThis);
  325.          }
  326.  
  327.       }
  328.    }
  329.  
  330.    private void writeObject(ObjectOutputStream var1) throws IOException {
  331.       var1.defaultWriteObject();
  332.    }
  333.  
  334.    private void readObject(ObjectInputStream var1) throws ClassNotFoundException, IOException {
  335.       var1.defaultReadObject();
  336.       if (this.menuBar != null) {
  337.          this.menuBar.parent = this;
  338.       }
  339.  
  340.       if (this.ownedWindows != null) {
  341.          for(int var2 = 0; var2 < this.ownedWindows.size(); ++var2) {
  342.             ((Window)this).connectOwnedWindow((Window)this.ownedWindows.elementAt(var2));
  343.          }
  344.  
  345.          this.ownedWindows = null;
  346.       }
  347.  
  348.       this.weakThis = new WeakReference(this);
  349.       this.addToFrameList();
  350.    }
  351.  
  352.    private static native void initIDs();
  353.  
  354.    public AccessibleContext getAccessibleContext() {
  355.       if (super.accessibleContext == null) {
  356.          super.accessibleContext = new AccessibleAWTFrame(this);
  357.       }
  358.  
  359.       return super.accessibleContext;
  360.    }
  361.  
  362.    // $FF: synthetic method
  363.    static Class class$(String var0) {
  364.       try {
  365.          return Class.forName(var0);
  366.       } catch (ClassNotFoundException var2) {
  367.          throw new NoClassDefFoundError(((Throwable)var2).getMessage());
  368.       }
  369.    }
  370.  
  371.    static {
  372.       Toolkit.loadLibraries();
  373.       initIDs();
  374.    }
  375. }
  376.