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 / Toolkit.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  10.2 KB  |  405 lines

  1. package java.awt;
  2.  
  3. import java.awt.datatransfer.Clipboard;
  4. import java.awt.dnd.DragGestureEvent;
  5. import java.awt.dnd.DragGestureListener;
  6. import java.awt.dnd.DragGestureRecognizer;
  7. import java.awt.dnd.DragSource;
  8. import java.awt.dnd.InvalidDnDOperationException;
  9. import java.awt.dnd.peer.DragSourceContextPeer;
  10. import java.awt.event.AWTEventListener;
  11. import java.awt.im.InputMethodHighlight;
  12. import java.awt.image.ColorModel;
  13. import java.awt.image.ImageObserver;
  14. import java.awt.image.ImageProducer;
  15. import java.awt.peer.ButtonPeer;
  16. import java.awt.peer.CanvasPeer;
  17. import java.awt.peer.CheckboxMenuItemPeer;
  18. import java.awt.peer.CheckboxPeer;
  19. import java.awt.peer.ChoicePeer;
  20. import java.awt.peer.DialogPeer;
  21. import java.awt.peer.FileDialogPeer;
  22. import java.awt.peer.FontPeer;
  23. import java.awt.peer.FramePeer;
  24. import java.awt.peer.LabelPeer;
  25. import java.awt.peer.ListPeer;
  26. import java.awt.peer.MenuBarPeer;
  27. import java.awt.peer.MenuItemPeer;
  28. import java.awt.peer.MenuPeer;
  29. import java.awt.peer.PanelPeer;
  30. import java.awt.peer.PopupMenuPeer;
  31. import java.awt.peer.ScrollPanePeer;
  32. import java.awt.peer.ScrollbarPeer;
  33. import java.awt.peer.TextAreaPeer;
  34. import java.awt.peer.TextFieldPeer;
  35. import java.awt.peer.WindowPeer;
  36. import java.beans.PropertyChangeListener;
  37. import java.beans.PropertyChangeSupport;
  38. import java.io.File;
  39. import java.net.URL;
  40. import java.security.AccessController;
  41. import java.util.HashMap;
  42. import java.util.Map;
  43. import java.util.MissingResourceException;
  44. import java.util.Properties;
  45. import java.util.ResourceBundle;
  46. import java.util.StringTokenizer;
  47. import java.util.WeakHashMap;
  48. import sun.security.action.LoadLibraryAction;
  49.  
  50. public abstract class Toolkit {
  51.    private static LightweightPeer lightweightMarker;
  52.    private static Toolkit toolkit;
  53.    private static ResourceBundle resources;
  54.    private static boolean loaded = false;
  55.    protected final Map desktopProperties = new HashMap();
  56.    protected final PropertyChangeSupport desktopPropsSupport = new PropertyChangeSupport(this);
  57.    private AWTEventListener eventListener = null;
  58.    private WeakHashMap listener2SelectiveListener = new WeakHashMap();
  59.    private AWTPermission listenToAllAWTEventsPermission = null;
  60.  
  61.    protected abstract ButtonPeer createButton(Button var1);
  62.  
  63.    protected abstract TextFieldPeer createTextField(TextField var1);
  64.  
  65.    protected abstract LabelPeer createLabel(Label var1);
  66.  
  67.    protected abstract ListPeer createList(List var1);
  68.  
  69.    protected abstract CheckboxPeer createCheckbox(Checkbox var1);
  70.  
  71.    protected abstract ScrollbarPeer createScrollbar(Scrollbar var1);
  72.  
  73.    protected abstract ScrollPanePeer createScrollPane(ScrollPane var1);
  74.  
  75.    protected abstract TextAreaPeer createTextArea(TextArea var1);
  76.  
  77.    protected abstract ChoicePeer createChoice(Choice var1);
  78.  
  79.    protected abstract FramePeer createFrame(Frame var1);
  80.  
  81.    protected abstract CanvasPeer createCanvas(Canvas var1);
  82.  
  83.    protected abstract PanelPeer createPanel(Panel var1);
  84.  
  85.    protected abstract WindowPeer createWindow(Window var1);
  86.  
  87.    protected abstract DialogPeer createDialog(Dialog var1);
  88.  
  89.    protected abstract MenuBarPeer createMenuBar(MenuBar var1);
  90.  
  91.    protected abstract MenuPeer createMenu(Menu var1);
  92.  
  93.    protected abstract PopupMenuPeer createPopupMenu(PopupMenu var1);
  94.  
  95.    protected abstract MenuItemPeer createMenuItem(MenuItem var1);
  96.  
  97.    protected abstract FileDialogPeer createFileDialog(FileDialog var1);
  98.  
  99.    protected abstract CheckboxMenuItemPeer createCheckboxMenuItem(CheckboxMenuItem var1);
  100.  
  101.    protected java.awt.peer.LightweightPeer createComponent(Component var1) {
  102.       if (lightweightMarker == null) {
  103.          lightweightMarker = new LightweightPeer(var1);
  104.       }
  105.  
  106.       return lightweightMarker;
  107.    }
  108.  
  109.    protected abstract FontPeer getFontPeer(String var1, int var2);
  110.  
  111.    protected void loadSystemColors(int[] var1) {
  112.    }
  113.  
  114.    public abstract Dimension getScreenSize();
  115.  
  116.    public abstract int getScreenResolution();
  117.  
  118.    public abstract ColorModel getColorModel();
  119.  
  120.    public abstract String[] getFontList();
  121.  
  122.    public abstract FontMetrics getFontMetrics(Font var1);
  123.  
  124.    public abstract void sync();
  125.  
  126.    private static void loadAssistiveTechnologies() {
  127.       String var0 = File.separator;
  128.       Properties var1 = new Properties();
  129.       AccessController.doPrivileged(new 1(var0, var1));
  130.       String var2 = var1.getProperty("assistive_technologies", (String)null);
  131.       ClassLoader var3 = ClassLoader.getSystemClassLoader();
  132.       if (var2 != null) {
  133.          StringTokenizer var4 = new StringTokenizer(var2, " ,");
  134.  
  135.          while(var4.hasMoreTokens()) {
  136.             String var5 = var4.nextToken();
  137.  
  138.             try {
  139.                Class var6;
  140.                if (var3 != null) {
  141.                   var6 = var3.loadClass(var5);
  142.                } else {
  143.                   var6 = Class.forName(var5);
  144.                }
  145.  
  146.                var6.newInstance();
  147.             } catch (ClassNotFoundException var10) {
  148.                throw new AWTError("Assistive Technology not found: " + var5);
  149.             } catch (InstantiationException var11) {
  150.                throw new AWTError("Could not instantiate Assistive Technology: " + var5);
  151.             } catch (IllegalAccessException var12) {
  152.                throw new AWTError("Could not access Assistive Technology: " + var5);
  153.             } catch (Exception var13) {
  154.                throw new AWTError("Error trying to install Assistive Technology: " + var5 + " " + var13);
  155.             }
  156.          }
  157.       }
  158.  
  159.    }
  160.  
  161.    public static synchronized Toolkit getDefaultToolkit() {
  162.       if (toolkit == null) {
  163.          try {
  164.             Compiler.disable();
  165.             AccessController.doPrivileged(new 2());
  166.             loadAssistiveTechnologies();
  167.          } finally {
  168.             Compiler.enable();
  169.          }
  170.       }
  171.  
  172.       return toolkit;
  173.    }
  174.  
  175.    public abstract Image getImage(String var1);
  176.  
  177.    public abstract Image getImage(URL var1);
  178.  
  179.    public abstract Image createImage(String var1);
  180.  
  181.    public abstract Image createImage(URL var1);
  182.  
  183.    public abstract boolean prepareImage(Image var1, int var2, int var3, ImageObserver var4);
  184.  
  185.    public abstract int checkImage(Image var1, int var2, int var3, ImageObserver var4);
  186.  
  187.    public abstract Image createImage(ImageProducer var1);
  188.  
  189.    public Image createImage(byte[] var1) {
  190.       return this.createImage(var1, 0, var1.length);
  191.    }
  192.  
  193.    public abstract Image createImage(byte[] var1, int var2, int var3);
  194.  
  195.    public abstract PrintJob getPrintJob(Frame var1, String var2, Properties var3);
  196.  
  197.    public PrintJob getPrintJob(Frame var1, String var2, JobAttributes var3, PageAttributes var4) {
  198.       return this != getDefaultToolkit() ? getDefaultToolkit().getPrintJob(var1, var2, var3, var4) : this.getPrintJob(var1, var2, (Properties)null);
  199.    }
  200.  
  201.    public abstract void beep();
  202.  
  203.    public abstract Clipboard getSystemClipboard();
  204.  
  205.    public int getMenuShortcutKeyMask() {
  206.       return 2;
  207.    }
  208.  
  209.    public boolean getLockingKeyState(int var1) {
  210.       if (var1 != 20 && var1 != 144 && var1 != 145 && var1 != 262) {
  211.          throw new IllegalArgumentException("invalid key for Toolkit.getLockingKeyState");
  212.       } else {
  213.          throw new UnsupportedOperationException("Toolkit.getLockingKeyState");
  214.       }
  215.    }
  216.  
  217.    public void setLockingKeyState(int var1, boolean var2) {
  218.       if (var1 != 20 && var1 != 144 && var1 != 145 && var1 != 262) {
  219.          throw new IllegalArgumentException("invalid key for Toolkit.setLockingKeyState");
  220.       } else {
  221.          throw new UnsupportedOperationException("Toolkit.setLockingKeyState");
  222.       }
  223.    }
  224.  
  225.    protected static Container getNativeContainer(Component var0) {
  226.       return var0.getNativeContainer();
  227.    }
  228.  
  229.    public Cursor createCustomCursor(Image var1, Point var2, String var3) throws IndexOutOfBoundsException {
  230.       return this != getDefaultToolkit() ? getDefaultToolkit().createCustomCursor(var1, var2, var3) : new Cursor(0);
  231.    }
  232.  
  233.    public Dimension getBestCursorSize(int var1, int var2) {
  234.       return this != getDefaultToolkit() ? getDefaultToolkit().getBestCursorSize(var1, var2) : new Dimension(0, 0);
  235.    }
  236.  
  237.    public int getMaximumCursorColors() {
  238.       return this != getDefaultToolkit() ? getDefaultToolkit().getMaximumCursorColors() : 0;
  239.    }
  240.  
  241.    private static native void initIDs();
  242.  
  243.    static void loadLibraries() {
  244.       if (!loaded) {
  245.          AccessController.doPrivileged(new LoadLibraryAction("awt"));
  246.          loaded = true;
  247.       }
  248.  
  249.    }
  250.  
  251.    public static String getProperty(String var0, String var1) {
  252.       if (resources != null) {
  253.          try {
  254.             return resources.getString(var0);
  255.          } catch (MissingResourceException var3) {
  256.          }
  257.       }
  258.  
  259.       return var1;
  260.    }
  261.  
  262.    public final EventQueue getSystemEventQueue() {
  263.       SecurityManager var1 = System.getSecurityManager();
  264.       if (var1 != null) {
  265.          var1.checkAwtEventQueueAccess();
  266.       }
  267.  
  268.       return this.getSystemEventQueueImpl();
  269.    }
  270.  
  271.    protected abstract EventQueue getSystemEventQueueImpl();
  272.  
  273.    static EventQueue getEventQueue() {
  274.       return getDefaultToolkit().getSystemEventQueueImpl();
  275.    }
  276.  
  277.    public abstract DragSourceContextPeer createDragSourceContextPeer(DragGestureEvent var1) throws InvalidDnDOperationException;
  278.  
  279.    public DragGestureRecognizer createDragGestureRecognizer(Class var1, DragSource var2, Component var3, int var4, DragGestureListener var5) {
  280.       return null;
  281.    }
  282.  
  283.    public final synchronized Object getDesktopProperty(String var1) {
  284.       if (this.desktopProperties.isEmpty()) {
  285.          this.initializeDesktopProperties();
  286.       }
  287.  
  288.       Object var2 = this.desktopProperties.get(var1);
  289.       if (var2 == null) {
  290.          var2 = this.lazilyLoadDesktopProperty(var1);
  291.          if (var2 != null) {
  292.             this.setDesktopProperty(var1, var2);
  293.          }
  294.       }
  295.  
  296.       return var2;
  297.    }
  298.  
  299.    protected final void setDesktopProperty(String var1, Object var2) {
  300.       Object var3;
  301.       synchronized(this) {
  302.          var3 = this.desktopProperties.get(var1);
  303.          this.desktopProperties.put(var1, var2);
  304.       }
  305.  
  306.       this.desktopPropsSupport.firePropertyChange(var1, var3, var2);
  307.    }
  308.  
  309.    protected Object lazilyLoadDesktopProperty(String var1) {
  310.       return null;
  311.    }
  312.  
  313.    protected void initializeDesktopProperties() {
  314.    }
  315.  
  316.    public synchronized void addPropertyChangeListener(String var1, PropertyChangeListener var2) {
  317.       if (var2 != null) {
  318.          this.desktopPropsSupport.addPropertyChangeListener(var1, var2);
  319.       }
  320.    }
  321.  
  322.    public synchronized void removePropertyChangeListener(String var1, PropertyChangeListener var2) {
  323.       if (var2 != null) {
  324.          this.desktopPropsSupport.removePropertyChangeListener(var1, var2);
  325.       }
  326.    }
  327.  
  328.    public void addAWTEventListener(AWTEventListener var1, long var2) {
  329.       if (var1 != null) {
  330.          SecurityManager var4 = System.getSecurityManager();
  331.          if (var4 != null) {
  332.             if (this.listenToAllAWTEventsPermission == null) {
  333.                this.listenToAllAWTEventsPermission = new AWTPermission("listenToAllAWTEvents");
  334.             }
  335.  
  336.             var4.checkPermission(this.listenToAllAWTEventsPermission);
  337.          }
  338.  
  339.          synchronized(this) {
  340.             SelectiveAWTEventListener var6 = (SelectiveAWTEventListener)this.listener2SelectiveListener.get(var1);
  341.             if (var6 == null) {
  342.                var6 = new SelectiveAWTEventListener(this, var1, var2);
  343.                this.listener2SelectiveListener.put(var1, var6);
  344.                this.eventListener = java.awt.Toolkit.ToolkitEventMulticaster.add(this.eventListener, var6);
  345.             }
  346.  
  347.             var6.orEventMasks(var2);
  348.          }
  349.       }
  350.    }
  351.  
  352.    public void removeAWTEventListener(AWTEventListener var1) {
  353.       if (var1 != null) {
  354.          SecurityManager var2 = System.getSecurityManager();
  355.          if (var2 != null) {
  356.             if (this.listenToAllAWTEventsPermission == null) {
  357.                this.listenToAllAWTEventsPermission = new AWTPermission("listenToAllAWTEvents");
  358.             }
  359.  
  360.             var2.checkPermission(this.listenToAllAWTEventsPermission);
  361.          }
  362.  
  363.          synchronized(this) {
  364.             SelectiveAWTEventListener var4 = (SelectiveAWTEventListener)this.listener2SelectiveListener.get(var1);
  365.             if (var4 != null) {
  366.                this.listener2SelectiveListener.remove(var1);
  367.             }
  368.  
  369.             this.eventListener = java.awt.Toolkit.ToolkitEventMulticaster.remove(this.eventListener, (AWTEventListener)(var4 == null ? var1 : var4));
  370.          }
  371.       }
  372.    }
  373.  
  374.    void notifyAWTEventListeners(AWTEvent var1) {
  375.       if (this.eventListener != null) {
  376.          synchronized(this) {
  377.             if (this.eventListener != null) {
  378.                this.eventListener.eventDispatched(var1);
  379.             }
  380.          }
  381.       }
  382.  
  383.    }
  384.  
  385.    public abstract Map mapInputMethodHighlight(InputMethodHighlight var1);
  386.  
  387.    // $FF: synthetic method
  388.    static Toolkit access$002(Toolkit var0) {
  389.       toolkit = var0;
  390.       return var0;
  391.    }
  392.  
  393.    // $FF: synthetic method
  394.    static ResourceBundle access$102(ResourceBundle var0) {
  395.       resources = var0;
  396.       return var0;
  397.    }
  398.  
  399.    static {
  400.       AccessController.doPrivileged(new 3());
  401.       loadLibraries();
  402.       initIDs();
  403.    }
  404. }
  405.