home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 June / CHIPHEFT062001.ISO / browser / nc32lyc / comm.z / java40.jar / sun / awt / windows / WWindowPeer.class (.txt) < prev   
Encoding:
Java Class File  |  2000-08-15  |  3.0 KB  |  125 lines

  1. package sun.awt.windows;
  2.  
  3. import java.awt.Component;
  4. import java.awt.Container;
  5. import java.awt.Font;
  6. import java.awt.Insets;
  7. import java.awt.Window;
  8. import java.awt.peer.ComponentPeer;
  9. import java.awt.peer.LightweightPeer;
  10. import java.awt.peer.WindowPeer;
  11. import java.util.Vector;
  12. import netscape.applet.AppletServices;
  13.  
  14. class WWindowPeer extends WPanelPeer implements WindowPeer {
  15.    static Vector allWindows = new Vector();
  16.  
  17.    public void dispose() {
  18.       allWindows.removeElement(this);
  19.       AppletServices.removeTopLevelWindow((Window)super.target, Thread.currentThread().getThreadGroup());
  20.       super.dispose();
  21.    }
  22.  
  23.    protected void destroy() {
  24.       super.destroy();
  25.       allWindows.removeElement(this);
  26.    }
  27.  
  28.    public native void toFront();
  29.  
  30.    public native void toBack();
  31.  
  32.    public void setTitle(String var1) {
  33.       if (var1 == null) {
  34.          var1 = new String("");
  35.       }
  36.  
  37.       this._setTitle(var1);
  38.    }
  39.  
  40.    native void _setTitle(String var1);
  41.  
  42.    public void setResizable(boolean var1) {
  43.       this._setResizable(var1);
  44.       ((Component)super.target).invalidate();
  45.    }
  46.  
  47.    public native void _setResizable(boolean var1);
  48.  
  49.    WWindowPeer(Window var1) {
  50.       super(var1);
  51.       AppletServices.addTopLevelWindow(var1, Thread.currentThread().getThreadGroup());
  52.    }
  53.  
  54.    void initialize() {
  55.       super.initialize();
  56.       this.updateInsets(super.insets_);
  57.       allWindows.addElement(this);
  58.       Font var1 = ((Window)super.target).getFont();
  59.       if (var1 == null) {
  60.          var1 = new Font("Dialog", 0, 12);
  61.          ((Window)super.target).setFont(var1);
  62.          ((WComponentPeer)this).setFont(var1);
  63.       }
  64.  
  65.    }
  66.  
  67.    native void create(WComponentPeer var1);
  68.  
  69.    native void updateInsets(Insets var1);
  70.  
  71.    ComponentPeer getFocusPeer() {
  72.       for(Object var1 = ((Window)super.target).getFocusOwner(); var1 != null; var1 = ((Component)var1).getParent()) {
  73.          ComponentPeer var2 = ((Component)var1).getPeer();
  74.          if (var2 != null) {
  75.             return var2;
  76.          }
  77.       }
  78.  
  79.       return null;
  80.    }
  81.  
  82.    WComponentPeer setDefaultFocus() {
  83.       Component var1 = this.setDefaultFocus((Container)super.target);
  84.       Component var2;
  85.       if (var1 == null) {
  86.          for(var1 = (Component)super.target; var1 instanceof Container && ((Container)var1).getComponentCount() > 0 && var1.getPeer() != null; var1 = var2) {
  87.             var2 = this.getContainerElement((Container)var1, 0);
  88.             if (!var2.isVisible() || !var2.isEnabled()) {
  89.                break;
  90.             }
  91.          }
  92.       }
  93.  
  94.       ComponentPeer var3 = var1.getPeer();
  95.       if (var3 instanceof LightweightPeer) {
  96.          var1.requestFocus();
  97.          return null;
  98.       } else {
  99.          return (WComponentPeer)var3;
  100.       }
  101.    }
  102.  
  103.    private Component setDefaultFocus(Container var1) {
  104.       int var2 = var1.getComponentCount();
  105.  
  106.       for(int var3 = 0; var3 < var2; ++var3) {
  107.          Component var4 = this.getContainerElement(var1, var3);
  108.          if (var4.isVisible() && var4.isEnabled() && var4.isFocusTraversable()) {
  109.             return var4;
  110.          }
  111.  
  112.          if (var4 instanceof Container && var4.isVisible() && var4.isEnabled()) {
  113.             Component var5 = this.setDefaultFocus((Container)var4);
  114.             if (var5 != null) {
  115.                return var5;
  116.             }
  117.          }
  118.       }
  119.  
  120.       return null;
  121.    }
  122.  
  123.    private native Component getContainerElement(Container var1, int var2);
  124. }
  125.