home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / java / awt / Frame.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  7.8 KB  |  474 lines

  1. package java.awt;
  2.  
  3. import java.awt.event.KeyEvent;
  4. import java.awt.peer.FramePeer;
  5. import java.io.IOException;
  6. import java.io.ObjectInputStream;
  7. import java.io.ObjectOutputStream;
  8. import java.io.OptionalDataException;
  9. import java.io.Serializable;
  10. import java.util.ArrayList;
  11. import java.util.List;
  12. import java.util.Vector;
  13. import javax.accessibility.AccessibleContext;
  14. import sun.awt.SunToolkit;
  15.  
  16. public class Frame extends Window implements MenuContainer {
  17.    /** @deprecated */
  18.    @Deprecated
  19.    public static final int DEFAULT_CURSOR = 0;
  20.    /** @deprecated */
  21.    @Deprecated
  22.    public static final int CROSSHAIR_CURSOR = 1;
  23.    /** @deprecated */
  24.    @Deprecated
  25.    public static final int TEXT_CURSOR = 2;
  26.    /** @deprecated */
  27.    @Deprecated
  28.    public static final int WAIT_CURSOR = 3;
  29.    /** @deprecated */
  30.    @Deprecated
  31.    public static final int SW_RESIZE_CURSOR = 4;
  32.    /** @deprecated */
  33.    @Deprecated
  34.    public static final int SE_RESIZE_CURSOR = 5;
  35.    /** @deprecated */
  36.    @Deprecated
  37.    public static final int NW_RESIZE_CURSOR = 6;
  38.    /** @deprecated */
  39.    @Deprecated
  40.    public static final int NE_RESIZE_CURSOR = 7;
  41.    /** @deprecated */
  42.    @Deprecated
  43.    public static final int N_RESIZE_CURSOR = 8;
  44.    /** @deprecated */
  45.    @Deprecated
  46.    public static final int S_RESIZE_CURSOR = 9;
  47.    /** @deprecated */
  48.    @Deprecated
  49.    public static final int W_RESIZE_CURSOR = 10;
  50.    /** @deprecated */
  51.    @Deprecated
  52.    public static final int E_RESIZE_CURSOR = 11;
  53.    /** @deprecated */
  54.    @Deprecated
  55.    public static final int HAND_CURSOR = 12;
  56.    /** @deprecated */
  57.    @Deprecated
  58.    public static final int MOVE_CURSOR = 13;
  59.    public static final int NORMAL = 0;
  60.    public static final int ICONIFIED = 1;
  61.    public static final int MAXIMIZED_HORIZ = 2;
  62.    public static final int MAXIMIZED_VERT = 4;
  63.    public static final int MAXIMIZED_BOTH = 6;
  64.    Rectangle maximizedBounds;
  65.    String title;
  66.    MenuBar menuBar;
  67.    boolean resizable;
  68.    boolean undecorated;
  69.    boolean mbManagement;
  70.    private int state;
  71.    Vector ownedWindows;
  72.    private static final String base = "frame";
  73.    private static int nameCounter = 0;
  74.    private static final long serialVersionUID = 2673458971256075116L;
  75.    private int frameSerializedDataVersion;
  76.  
  77.    public Frame() throws HeadlessException {
  78.       this("");
  79.    }
  80.  
  81.    public Frame(GraphicsConfiguration var1) {
  82.       this("", var1);
  83.    }
  84.  
  85.    public Frame(String var1) throws HeadlessException {
  86.       this.title = "Untitled";
  87.       this.resizable = true;
  88.       this.undecorated = false;
  89.       this.mbManagement = false;
  90.       this.state = 0;
  91.       this.frameSerializedDataVersion = 1;
  92.       this.init(var1, (GraphicsConfiguration)null);
  93.    }
  94.  
  95.    public Frame(String var1, GraphicsConfiguration var2) {
  96.       super(var2);
  97.       this.title = "Untitled";
  98.       this.resizable = true;
  99.       this.undecorated = false;
  100.       this.mbManagement = false;
  101.       this.state = 0;
  102.       this.frameSerializedDataVersion = 1;
  103.       this.init(var1, var2);
  104.    }
  105.  
  106.    private void init(String var1, GraphicsConfiguration var2) {
  107.       this.title = var1;
  108.       SunToolkit.checkAndSetPolicy(this, false);
  109.    }
  110.  
  111.    String constructComponentName() {
  112.       synchronized(this.getClass()) {
  113.          return "frame" + nameCounter++;
  114.       }
  115.    }
  116.  
  117.    public void addNotify() {
  118.       synchronized(this.getTreeLock()) {
  119.          if (this.peer == null) {
  120.             this.peer = this.getToolkit().createFrame(this);
  121.          }
  122.  
  123.          FramePeer var2 = (FramePeer)this.peer;
  124.          MenuBar var3 = this.menuBar;
  125.          if (var3 != null) {
  126.             this.mbManagement = true;
  127.             var3.addNotify();
  128.             var2.setMenuBar(var3);
  129.          }
  130.  
  131.          var2.setMaximizedBounds(this.maximizedBounds);
  132.          super.addNotify();
  133.       }
  134.    }
  135.  
  136.    public String getTitle() {
  137.       return this.title;
  138.    }
  139.  
  140.    public void setTitle(String var1) {
  141.       String var2 = this.title;
  142.       if (var1 == null) {
  143.          var1 = "";
  144.       }
  145.  
  146.       synchronized(this) {
  147.          this.title = var1;
  148.          FramePeer var4 = (FramePeer)this.peer;
  149.          if (var4 != null) {
  150.             var4.setTitle(var1);
  151.          }
  152.       }
  153.  
  154.       this.firePropertyChange("title", var2, var1);
  155.    }
  156.  
  157.    public Image getIconImage() {
  158.       List var1 = this.icons;
  159.       return var1 != null && var1.size() > 0 ? (Image)var1.get(0) : null;
  160.    }
  161.  
  162.    public void setIconImage(Image var1) {
  163.       super.setIconImage(var1);
  164.    }
  165.  
  166.    public MenuBar getMenuBar() {
  167.       return this.menuBar;
  168.    }
  169.  
  170.    public void setMenuBar(MenuBar var1) {
  171.       synchronized(this.getTreeLock()) {
  172.          if (this.menuBar != var1) {
  173.             if (var1 != null && var1.parent != null) {
  174.                var1.parent.remove(var1);
  175.             }
  176.  
  177.             if (this.menuBar != null) {
  178.                this.remove(this.menuBar);
  179.             }
  180.  
  181.             this.menuBar = var1;
  182.             if (this.menuBar != null) {
  183.                this.menuBar.parent = this;
  184.                FramePeer var3 = (FramePeer)this.peer;
  185.                if (var3 != null) {
  186.                   this.mbManagement = true;
  187.                   this.menuBar.addNotify();
  188.                   if (this.valid) {
  189.                      this.invalidate();
  190.                   }
  191.  
  192.                   var3.setMenuBar(this.menuBar);
  193.                }
  194.             }
  195.  
  196.          }
  197.       }
  198.    }
  199.  
  200.    public boolean isResizable() {
  201.       return this.resizable;
  202.    }
  203.  
  204.    public void setResizable(boolean var1) {
  205.       boolean var2 = this.resizable;
  206.       boolean var3 = false;
  207.       synchronized(this) {
  208.          this.resizable = var1;
  209.          FramePeer var5 = (FramePeer)this.peer;
  210.          if (var5 != null) {
  211.             var5.setResizable(var1);
  212.             var3 = true;
  213.          }
  214.       }
  215.  
  216.       if (var3 && this.valid) {
  217.          this.invalidate();
  218.       }
  219.  
  220.       this.firePropertyChange("resizable", var2, var1);
  221.    }
  222.  
  223.    public synchronized void setState(int var1) {
  224.       int var2 = this.getExtendedState();
  225.       if (var1 == 1 && (var2 & 1) == 0) {
  226.          this.setExtendedState(var2 | 1);
  227.       } else if (var1 == 0 && (var2 & 1) != 0) {
  228.          this.setExtendedState(var2 & -2);
  229.       }
  230.  
  231.    }
  232.  
  233.    public synchronized void setExtendedState(int var1) {
  234.       if (this.isFrameStateSupported(var1)) {
  235.          this.state = var1;
  236.          FramePeer var2 = (FramePeer)this.peer;
  237.          if (var2 != null) {
  238.             var2.setState(var1);
  239.          }
  240.  
  241.       }
  242.    }
  243.  
  244.    private boolean isFrameStateSupported(int var1) {
  245.       if (!this.getToolkit().isFrameStateSupported(var1)) {
  246.          if ((var1 & 1) != 0 && !this.getToolkit().isFrameStateSupported(1)) {
  247.             return false;
  248.          } else {
  249.             var1 &= -2;
  250.             return this.getToolkit().isFrameStateSupported(var1);
  251.          }
  252.       } else {
  253.          return true;
  254.       }
  255.    }
  256.  
  257.    public synchronized int getState() {
  258.       return (this.getExtendedState() & 1) != 0 ? 1 : 0;
  259.    }
  260.  
  261.    public synchronized int getExtendedState() {
  262.       FramePeer var1 = (FramePeer)this.peer;
  263.       if (var1 != null) {
  264.          this.state = var1.getState();
  265.       }
  266.  
  267.       return this.state;
  268.    }
  269.  
  270.    public synchronized void setMaximizedBounds(Rectangle var1) {
  271.       this.maximizedBounds = var1;
  272.       FramePeer var2 = (FramePeer)this.peer;
  273.       if (var2 != null) {
  274.          var2.setMaximizedBounds(var1);
  275.       }
  276.  
  277.    }
  278.  
  279.    public Rectangle getMaximizedBounds() {
  280.       return this.maximizedBounds;
  281.    }
  282.  
  283.    public void setUndecorated(boolean var1) {
  284.       synchronized(this.getTreeLock()) {
  285.          if (this.isDisplayable()) {
  286.             throw new IllegalComponentStateException("The frame is displayable.");
  287.          } else {
  288.             this.undecorated = var1;
  289.          }
  290.       }
  291.    }
  292.  
  293.    public boolean isUndecorated() {
  294.       return this.undecorated;
  295.    }
  296.  
  297.    public void remove(MenuComponent var1) {
  298.       if (var1 != null) {
  299.          synchronized(this.getTreeLock()) {
  300.             if (var1 == this.menuBar) {
  301.                this.menuBar = null;
  302.                FramePeer var3 = (FramePeer)this.peer;
  303.                if (var3 != null) {
  304.                   this.mbManagement = true;
  305.                   if (this.valid) {
  306.                      this.invalidate();
  307.                   }
  308.  
  309.                   var3.setMenuBar((MenuBar)null);
  310.                   var1.removeNotify();
  311.                }
  312.  
  313.                var1.parent = null;
  314.             } else {
  315.                super.remove(var1);
  316.             }
  317.  
  318.          }
  319.       }
  320.    }
  321.  
  322.    public void removeNotify() {
  323.       synchronized(this.getTreeLock()) {
  324.          FramePeer var2 = (FramePeer)this.peer;
  325.          if (var2 != null) {
  326.             this.getState();
  327.             if (this.menuBar != null) {
  328.                this.mbManagement = true;
  329.                var2.setMenuBar((MenuBar)null);
  330.                this.menuBar.removeNotify();
  331.             }
  332.          }
  333.  
  334.          super.removeNotify();
  335.       }
  336.    }
  337.  
  338.    void postProcessKeyEvent(KeyEvent var1) {
  339.       if (this.menuBar != null && this.menuBar.handleShortcut(var1)) {
  340.          var1.consume();
  341.       } else {
  342.          super.postProcessKeyEvent(var1);
  343.       }
  344.    }
  345.  
  346.    protected String paramString() {
  347.       String var1 = super.paramString();
  348.       if (this.title != null) {
  349.          var1 = var1 + ",title=" + this.title;
  350.       }
  351.  
  352.       if (this.resizable) {
  353.          var1 = var1 + ",resizable";
  354.       }
  355.  
  356.       this.getExtendedState();
  357.       if (this.state == 0) {
  358.          var1 = var1 + ",normal";
  359.       } else {
  360.          if ((this.state & 1) != 0) {
  361.             var1 = var1 + ",iconified";
  362.          }
  363.  
  364.          if ((this.state & 6) == 6) {
  365.             var1 = var1 + ",maximized";
  366.          } else if ((this.state & 2) != 0) {
  367.             var1 = var1 + ",maximized_horiz";
  368.          } else if ((this.state & 4) != 0) {
  369.             var1 = var1 + ",maximized_vert";
  370.          }
  371.       }
  372.  
  373.       return var1;
  374.    }
  375.  
  376.    /** @deprecated */
  377.    @Deprecated
  378.    public void setCursor(int var1) {
  379.       if (var1 >= 0 && var1 <= 13) {
  380.          this.setCursor(Cursor.getPredefinedCursor(var1));
  381.       } else {
  382.          throw new IllegalArgumentException("illegal cursor type");
  383.       }
  384.    }
  385.  
  386.    /** @deprecated */
  387.    @Deprecated
  388.    public int getCursorType() {
  389.       return this.getCursor().getType();
  390.    }
  391.  
  392.    public static Frame[] getFrames() {
  393.       Window[] var0 = Window.getWindows();
  394.       int var1 = 0;
  395.  
  396.       for(Window var5 : var0) {
  397.          if (var5 instanceof Frame) {
  398.             ++var1;
  399.          }
  400.       }
  401.  
  402.       Frame[] var8 = new Frame[var1];
  403.       int var9 = 0;
  404.  
  405.       for(Window var7 : var0) {
  406.          if (var7 instanceof Frame) {
  407.             var8[var9++] = (Frame)var7;
  408.          }
  409.       }
  410.  
  411.       return var8;
  412.    }
  413.  
  414.    private void writeObject(ObjectOutputStream var1) throws IOException {
  415.       var1.defaultWriteObject();
  416.       if (this.icons != null && this.icons.size() > 0) {
  417.          Image var2 = (Image)this.icons.get(0);
  418.          if (var2 instanceof Serializable) {
  419.             var1.writeObject(var2);
  420.             return;
  421.          }
  422.       }
  423.  
  424.       var1.writeObject((Object)null);
  425.    }
  426.  
  427.    private void readObject(ObjectInputStream var1) throws ClassNotFoundException, IOException, HeadlessException {
  428.       var1.defaultReadObject();
  429.  
  430.       try {
  431.          Image var2 = (Image)var1.readObject();
  432.          if (this.icons == null) {
  433.             this.icons = new ArrayList();
  434.             this.icons.add(var2);
  435.          }
  436.       } catch (OptionalDataException var3) {
  437.          if (!var3.eof) {
  438.             throw var3;
  439.          }
  440.       }
  441.  
  442.       if (this.menuBar != null) {
  443.          this.menuBar.parent = this;
  444.       }
  445.  
  446.       if (this.ownedWindows != null) {
  447.          for(int var4 = 0; var4 < this.ownedWindows.size(); ++var4) {
  448.             this.connectOwnedWindow((Window)this.ownedWindows.elementAt(var4));
  449.          }
  450.  
  451.          this.ownedWindows = null;
  452.       }
  453.  
  454.    }
  455.  
  456.    private static native void initIDs();
  457.  
  458.    public AccessibleContext getAccessibleContext() {
  459.       if (this.accessibleContext == null) {
  460.          this.accessibleContext = new AccessibleAWTFrame(this);
  461.       }
  462.  
  463.       return this.accessibleContext;
  464.    }
  465.  
  466.    static {
  467.       Toolkit.loadLibraries();
  468.       if (!GraphicsEnvironment.isHeadless()) {
  469.          initIDs();
  470.       }
  471.  
  472.    }
  473. }
  474.