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

  1. package sun.awt;
  2.  
  3. import java.awt.Component;
  4. import java.awt.Container;
  5. import java.awt.Dialog;
  6. import java.awt.Dimension;
  7. import java.awt.EventQueue;
  8. import java.awt.Image;
  9. import java.awt.Toolkit;
  10. import java.awt.Window;
  11. import java.net.URL;
  12. import java.util.Hashtable;
  13. import netscape.applet.AppletServices;
  14. import sun.awt.image.ByteArrayImageSource;
  15. import sun.awt.image.FileImageSource;
  16. import sun.awt.image.URLImageSource;
  17.  
  18. public abstract class SunToolkit extends Toolkit {
  19.    protected static EventQueue theEventQueue;
  20.    protected static final Hashtable peerMap = new Hashtable();
  21.    static Hashtable imgHash = new Hashtable();
  22.  
  23.    public SunToolkit() {
  24.       String var1 = Toolkit.getProperty("AWT.EventQueueClass", "java.awt.EventQueue");
  25.  
  26.       try {
  27.          theEventQueue = (EventQueue)Class.forName(var1).newInstance();
  28.       } catch (Exception var3) {
  29.          System.err.println("Failed loading " + var1 + ": " + var3);
  30.          theEventQueue = new EventQueue();
  31.       }
  32.    }
  33.  
  34.    protected static Object targetToPeer(Object var0) {
  35.       return var0 != null ? peerMap.get(var0) : null;
  36.    }
  37.  
  38.    protected static void targetDisposedPeer(Object var0, Object var1) {
  39.       if (var0 != null && var1 != null && peerMap.get(var0) == var1) {
  40.          peerMap.remove(var0);
  41.       }
  42.  
  43.    }
  44.  
  45.    public Dimension getScreenSize() {
  46.       return new Dimension(this.getScreenWidth(), this.getScreenHeight());
  47.    }
  48.  
  49.    protected abstract int getScreenWidth();
  50.  
  51.    protected abstract int getScreenHeight();
  52.  
  53.    public String[] getFontList() {
  54.       String[] var1 = new String[]{"Dialog", "SansSerif", "Serif", "Monospaced", "Helvetica", "TimesRoman", "Courier", "DialogInput", "ZapfDingbats"};
  55.       return var1;
  56.    }
  57.  
  58.    static synchronized Image getImageFromHash(Toolkit var0, URL var1) {
  59.       SecurityManager var2 = System.getSecurityManager();
  60.       if (var2 != null) {
  61.          var2.checkConnect(var1.getHost(), var1.getPort());
  62.       }
  63.  
  64.       Image var3 = (Image)imgHash.get(var1);
  65.       if (var3 == null) {
  66.          try {
  67.             var3 = var0.createImage(new URLImageSource(var1));
  68.             imgHash.put(var1, var3);
  69.          } catch (Exception var4) {
  70.          }
  71.       }
  72.  
  73.       return var3;
  74.    }
  75.  
  76.    static synchronized Image getImageFromHash(Toolkit var0, String var1) {
  77.       SecurityManager var2 = System.getSecurityManager();
  78.       if (var2 != null) {
  79.          var2.checkRead(var1);
  80.       }
  81.  
  82.       Image var3 = (Image)imgHash.get(var1);
  83.       if (var3 == null) {
  84.          try {
  85.             var3 = var0.createImage(new FileImageSource(var1));
  86.             imgHash.put(var1, var3);
  87.          } catch (Exception var4) {
  88.          }
  89.       }
  90.  
  91.       return var3;
  92.    }
  93.  
  94.    public Image getImage(String var1) {
  95.       return getImageFromHash(this, (String)var1);
  96.    }
  97.  
  98.    public Image getImage(URL var1) {
  99.       return getImageFromHash(this, (URL)var1);
  100.    }
  101.  
  102.    public Image createImage(byte[] var1, int var2, int var3) {
  103.       return ((Toolkit)this).createImage(new ByteArrayImageSource(var1, var2, var3));
  104.    }
  105.  
  106.    protected EventQueue getSystemEventQueueImpl() {
  107.       EventQueue var1 = EventQueue.getQueue(Thread.currentThread().getThreadGroup());
  108.       if (var1 == null) {
  109.          var1 = theEventQueue;
  110.       }
  111.  
  112.       return var1;
  113.    }
  114.  
  115.    public static Container getNativeContainer(Component var0) {
  116.       return Toolkit.getNativeContainer(var0);
  117.    }
  118.  
  119.    public static Window[] getTopLevelWindows() {
  120.       ThreadGroup var0 = Thread.currentThread().getThreadGroup();
  121.       return AppletServices.getTopLevelWindows(var0);
  122.    }
  123.  
  124.    public static Dialog swapTopModalDialog(Dialog var0) {
  125.       ThreadGroup var1 = Thread.currentThread().getThreadGroup();
  126.       return AppletServices.swapTopModalDialog(var0, var1);
  127.    }
  128. }
  129.