src/java.desktop/share/classes/java/awt/Toolkit.java

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 1995, 2014, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this --- 1,7 ---- /* ! * Copyright (c) 1995, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this
*** 23,62 **** * questions. */ package java.awt; ! import java.beans.PropertyChangeEvent; import java.awt.event.*; - import java.awt.peer.*; import java.awt.im.InputMethodHighlight; import java.awt.image.ImageObserver; import java.awt.image.ImageProducer; ! import java.awt.image.ColorModel; ! import java.awt.datatransfer.Clipboard; ! import java.awt.dnd.DragSource; ! import java.awt.dnd.DragGestureRecognizer; ! import java.awt.dnd.DragGestureEvent; ! import java.awt.dnd.DragGestureListener; ! import java.awt.dnd.InvalidDnDOperationException; ! import java.awt.dnd.peer.DragSourceContextPeer; ! import java.net.URL; import java.io.File; import java.io.FileInputStream; ! import java.util.*; ! import java.beans.PropertyChangeListener; ! import java.beans.PropertyChangeSupport; import sun.awt.AppContext; - import sun.awt.HeadlessToolkit; - import sun.awt.NullComponentPeer; import sun.awt.PeerEvent; import sun.awt.SunToolkit; - import sun.awt.AWTAccessor; - import sun.awt.AWTPermissions; - import sun.util.CoreResourceBundleControl; /** * This class is the abstract superclass of all actual * implementations of the Abstract Window Toolkit. Subclasses of --- 23,63 ---- * questions. */ package java.awt; ! import java.awt.datatransfer.Clipboard; ! import java.awt.dnd.DragGestureListener; ! import java.awt.dnd.DragGestureRecognizer; ! import java.awt.dnd.DragSource; import java.awt.event.*; import java.awt.im.InputMethodHighlight; + import java.awt.image.ColorModel; import java.awt.image.ImageObserver; import java.awt.image.ImageProducer; ! import java.beans.PropertyChangeEvent; ! import java.beans.PropertyChangeListener; ! import java.beans.PropertyChangeSupport; import java.io.File; import java.io.FileInputStream; + import java.net.URL; + import java.util.ArrayList; + import java.util.EventListener; + import java.util.HashMap; + import java.util.Map; + import java.util.MissingResourceException; + import java.util.Properties; + import java.util.ResourceBundle; + import java.util.StringTokenizer; + import java.util.WeakHashMap; ! import sun.awt.AWTAccessor; ! import sun.awt.AWTPermissions; import sun.awt.AppContext; import sun.awt.HeadlessToolkit; import sun.awt.PeerEvent; import sun.awt.SunToolkit; import sun.util.CoreResourceBundleControl; /** * This class is the abstract superclass of all actual * implementations of the Abstract Window Toolkit. Subclasses of
*** 110,454 **** * @author Fred Ecks * @since 1.0 */ public abstract class Toolkit { - /** - * Creates this toolkit's implementation of the <code>Desktop</code> - * using the specified peer interface. - * @param target the desktop to be implemented - * @return this toolkit's implementation of the <code>Desktop</code> - * @exception HeadlessException if GraphicsEnvironment.isHeadless() - * returns true - * @see java.awt.GraphicsEnvironment#isHeadless - * @see java.awt.Desktop - * @see java.awt.peer.DesktopPeer - * @since 1.6 - */ - protected abstract DesktopPeer createDesktopPeer(Desktop target) - throws HeadlessException; - - - /** - * Creates this toolkit's implementation of <code>Button</code> using - * the specified peer interface. - * @param target the button to be implemented. - * @return this toolkit's implementation of <code>Button</code>. - * @exception HeadlessException if GraphicsEnvironment.isHeadless() - * returns true - * @see java.awt.GraphicsEnvironment#isHeadless - * @see java.awt.Button - * @see java.awt.peer.ButtonPeer - */ - protected abstract ButtonPeer createButton(Button target) - throws HeadlessException; - - /** - * Creates this toolkit's implementation of <code>TextField</code> using - * the specified peer interface. - * @param target the text field to be implemented. - * @return this toolkit's implementation of <code>TextField</code>. - * @exception HeadlessException if GraphicsEnvironment.isHeadless() - * returns true - * @see java.awt.GraphicsEnvironment#isHeadless - * @see java.awt.TextField - * @see java.awt.peer.TextFieldPeer - */ - protected abstract TextFieldPeer createTextField(TextField target) - throws HeadlessException; - - /** - * Creates this toolkit's implementation of <code>Label</code> using - * the specified peer interface. - * @param target the label to be implemented. - * @return this toolkit's implementation of <code>Label</code>. - * @exception HeadlessException if GraphicsEnvironment.isHeadless() - * returns true - * @see java.awt.GraphicsEnvironment#isHeadless - * @see java.awt.Label - * @see java.awt.peer.LabelPeer - */ - protected abstract LabelPeer createLabel(Label target) - throws HeadlessException; - - /** - * Creates this toolkit's implementation of <code>List</code> using - * the specified peer interface. - * @param target the list to be implemented. - * @return this toolkit's implementation of <code>List</code>. - * @exception HeadlessException if GraphicsEnvironment.isHeadless() - * returns true - * @see java.awt.GraphicsEnvironment#isHeadless - * @see java.awt.List - * @see java.awt.peer.ListPeer - */ - protected abstract ListPeer createList(java.awt.List target) - throws HeadlessException; - - /** - * Creates this toolkit's implementation of <code>Checkbox</code> using - * the specified peer interface. - * @param target the check box to be implemented. - * @return this toolkit's implementation of <code>Checkbox</code>. - * @exception HeadlessException if GraphicsEnvironment.isHeadless() - * returns true - * @see java.awt.GraphicsEnvironment#isHeadless - * @see java.awt.Checkbox - * @see java.awt.peer.CheckboxPeer - */ - protected abstract CheckboxPeer createCheckbox(Checkbox target) - throws HeadlessException; - - /** - * Creates this toolkit's implementation of <code>Scrollbar</code> using - * the specified peer interface. - * @param target the scroll bar to be implemented. - * @return this toolkit's implementation of <code>Scrollbar</code>. - * @exception HeadlessException if GraphicsEnvironment.isHeadless() - * returns true - * @see java.awt.GraphicsEnvironment#isHeadless - * @see java.awt.Scrollbar - * @see java.awt.peer.ScrollbarPeer - */ - protected abstract ScrollbarPeer createScrollbar(Scrollbar target) - throws HeadlessException; - - /** - * Creates this toolkit's implementation of <code>ScrollPane</code> using - * the specified peer interface. - * @param target the scroll pane to be implemented. - * @return this toolkit's implementation of <code>ScrollPane</code>. - * @exception HeadlessException if GraphicsEnvironment.isHeadless() - * returns true - * @see java.awt.GraphicsEnvironment#isHeadless - * @see java.awt.ScrollPane - * @see java.awt.peer.ScrollPanePeer - * @since 1.1 - */ - protected abstract ScrollPanePeer createScrollPane(ScrollPane target) - throws HeadlessException; - - /** - * Creates this toolkit's implementation of <code>TextArea</code> using - * the specified peer interface. - * @param target the text area to be implemented. - * @return this toolkit's implementation of <code>TextArea</code>. - * @exception HeadlessException if GraphicsEnvironment.isHeadless() - * returns true - * @see java.awt.GraphicsEnvironment#isHeadless - * @see java.awt.TextArea - * @see java.awt.peer.TextAreaPeer - */ - protected abstract TextAreaPeer createTextArea(TextArea target) - throws HeadlessException; - - /** - * Creates this toolkit's implementation of <code>Choice</code> using - * the specified peer interface. - * @param target the choice to be implemented. - * @return this toolkit's implementation of <code>Choice</code>. - * @exception HeadlessException if GraphicsEnvironment.isHeadless() - * returns true - * @see java.awt.GraphicsEnvironment#isHeadless - * @see java.awt.Choice - * @see java.awt.peer.ChoicePeer - */ - protected abstract ChoicePeer createChoice(Choice target) - throws HeadlessException; - - /** - * Creates this toolkit's implementation of <code>Frame</code> using - * the specified peer interface. - * @param target the frame to be implemented. - * @return this toolkit's implementation of <code>Frame</code>. - * @exception HeadlessException if GraphicsEnvironment.isHeadless() - * returns true - * @see java.awt.GraphicsEnvironment#isHeadless - * @see java.awt.Frame - * @see java.awt.peer.FramePeer - */ - protected abstract FramePeer createFrame(Frame target) - throws HeadlessException; - - /** - * Creates this toolkit's implementation of <code>Canvas</code> using - * the specified peer interface. - * @param target the canvas to be implemented. - * @return this toolkit's implementation of <code>Canvas</code>. - * @see java.awt.Canvas - * @see java.awt.peer.CanvasPeer - */ - protected abstract CanvasPeer createCanvas(Canvas target); - - /** - * Creates this toolkit's implementation of <code>Panel</code> using - * the specified peer interface. - * @param target the panel to be implemented. - * @return this toolkit's implementation of <code>Panel</code>. - * @see java.awt.Panel - * @see java.awt.peer.PanelPeer - */ - protected abstract PanelPeer createPanel(Panel target); - - /** - * Creates this toolkit's implementation of <code>Window</code> using - * the specified peer interface. - * @param target the window to be implemented. - * @return this toolkit's implementation of <code>Window</code>. - * @exception HeadlessException if GraphicsEnvironment.isHeadless() - * returns true - * @see java.awt.GraphicsEnvironment#isHeadless - * @see java.awt.Window - * @see java.awt.peer.WindowPeer - */ - protected abstract WindowPeer createWindow(Window target) - throws HeadlessException; - - /** - * Creates this toolkit's implementation of <code>Dialog</code> using - * the specified peer interface. - * @param target the dialog to be implemented. - * @return this toolkit's implementation of <code>Dialog</code>. - * @exception HeadlessException if GraphicsEnvironment.isHeadless() - * returns true - * @see java.awt.GraphicsEnvironment#isHeadless - * @see java.awt.Dialog - * @see java.awt.peer.DialogPeer - */ - protected abstract DialogPeer createDialog(Dialog target) - throws HeadlessException; - - /** - * Creates this toolkit's implementation of <code>MenuBar</code> using - * the specified peer interface. - * @param target the menu bar to be implemented. - * @return this toolkit's implementation of <code>MenuBar</code>. - * @exception HeadlessException if GraphicsEnvironment.isHeadless() - * returns true - * @see java.awt.GraphicsEnvironment#isHeadless - * @see java.awt.MenuBar - * @see java.awt.peer.MenuBarPeer - */ - protected abstract MenuBarPeer createMenuBar(MenuBar target) - throws HeadlessException; - - /** - * Creates this toolkit's implementation of <code>Menu</code> using - * the specified peer interface. - * @param target the menu to be implemented. - * @return this toolkit's implementation of <code>Menu</code>. - * @exception HeadlessException if GraphicsEnvironment.isHeadless() - * returns true - * @see java.awt.GraphicsEnvironment#isHeadless - * @see java.awt.Menu - * @see java.awt.peer.MenuPeer - */ - protected abstract MenuPeer createMenu(Menu target) - throws HeadlessException; - - /** - * Creates this toolkit's implementation of <code>PopupMenu</code> using - * the specified peer interface. - * @param target the popup menu to be implemented. - * @return this toolkit's implementation of <code>PopupMenu</code>. - * @exception HeadlessException if GraphicsEnvironment.isHeadless() - * returns true - * @see java.awt.GraphicsEnvironment#isHeadless - * @see java.awt.PopupMenu - * @see java.awt.peer.PopupMenuPeer - * @since 1.1 - */ - protected abstract PopupMenuPeer createPopupMenu(PopupMenu target) - throws HeadlessException; - - /** - * Creates this toolkit's implementation of <code>MenuItem</code> using - * the specified peer interface. - * @param target the menu item to be implemented. - * @return this toolkit's implementation of <code>MenuItem</code>. - * @exception HeadlessException if GraphicsEnvironment.isHeadless() - * returns true - * @see java.awt.GraphicsEnvironment#isHeadless - * @see java.awt.MenuItem - * @see java.awt.peer.MenuItemPeer - */ - protected abstract MenuItemPeer createMenuItem(MenuItem target) - throws HeadlessException; - - /** - * Creates this toolkit's implementation of <code>FileDialog</code> using - * the specified peer interface. - * @param target the file dialog to be implemented. - * @return this toolkit's implementation of <code>FileDialog</code>. - * @exception HeadlessException if GraphicsEnvironment.isHeadless() - * returns true - * @see java.awt.GraphicsEnvironment#isHeadless - * @see java.awt.FileDialog - * @see java.awt.peer.FileDialogPeer - */ - protected abstract FileDialogPeer createFileDialog(FileDialog target) - throws HeadlessException; - - /** - * Creates this toolkit's implementation of <code>CheckboxMenuItem</code> using - * the specified peer interface. - * @param target the checkbox menu item to be implemented. - * @return this toolkit's implementation of <code>CheckboxMenuItem</code>. - * @exception HeadlessException if GraphicsEnvironment.isHeadless() - * returns true - * @see java.awt.GraphicsEnvironment#isHeadless - * @see java.awt.CheckboxMenuItem - * @see java.awt.peer.CheckboxMenuItemPeer - */ - protected abstract CheckboxMenuItemPeer createCheckboxMenuItem( - CheckboxMenuItem target) throws HeadlessException; - - /** - * Obtains this toolkit's implementation of helper class for - * <code>MouseInfo</code> operations. - * @return this toolkit's implementation of helper for <code>MouseInfo</code> - * @throws UnsupportedOperationException if this operation is not implemented - * @see java.awt.peer.MouseInfoPeer - * @see java.awt.MouseInfo - * @since 1.5 - */ - protected MouseInfoPeer getMouseInfoPeer() { - throw new UnsupportedOperationException("Not implemented"); - } - - private static LightweightPeer lightweightMarker; - - /** - * Creates a peer for a component or container. This peer is windowless - * and allows the Component and Container classes to be extended directly - * to create windowless components that are defined entirely in java. - * - * @param target The Component to be created. - * @return the peer for the specified component - */ - protected LightweightPeer createComponent(Component target) { - if (lightweightMarker == null) { - lightweightMarker = new NullComponentPeer(); - } - return lightweightMarker; - } - - /** - * Creates this toolkit's implementation of <code>Font</code> using - * the specified peer interface. - * @param name the font to be implemented - * @param style the style of the font, such as <code>PLAIN</code>, - * <code>BOLD</code>, <code>ITALIC</code>, or a combination - * @return this toolkit's implementation of <code>Font</code> - * @see java.awt.Font - * @see java.awt.peer.FontPeer - * @see java.awt.GraphicsEnvironment#getAllFonts - * @deprecated see java.awt.GraphicsEnvironment#getAllFonts - */ - @Deprecated - protected abstract FontPeer getFontPeer(String name, int style); - // The following method is called by the private method // <code>updateSystemColors</code> in <code>SystemColor</code>. /** * Fills in the integer array that is supplied as an argument --- 111,120 ----
*** 1747,1767 **** static EventQueue getEventQueue() { return getDefaultToolkit().getSystemEventQueueImpl(); } /** - * Creates the peer for a DragSourceContext. - * Always throws InvalidDndOperationException if - * GraphicsEnvironment.isHeadless() returns true. - * - * @param dge the {@code DragGestureEvent} - * @return the peer created - * @see java.awt.GraphicsEnvironment#isHeadless - */ - public abstract DragSourceContextPeer createDragSourceContextPeer(DragGestureEvent dge) throws InvalidDnDOperationException; - - /** * Creates a concrete, platform dependent, subclass of the abstract * DragGestureRecognizer class requested, and associates it with the * DragSource, Component and DragGestureListener specified. * * subclasses should override this to provide their own implementation --- 1413,1422 ----