private static void testMouseInfoPeer() { Toolkit toolkit = Toolkit.getDefaultToolkit(); if (toolkit instanceof ComponentFactory) { ComponentFactory componentFactory = (ComponentFactory) toolkit; MouseInfoPeer mouseInfoPeer = componentFactory.getMouseInfoPeer(); mouseInfoPeer.fillPointWithCoords(new Point()); Window win = new Window(null); win.setSize(300, 300); win.setVisible(true); mouseInfoPeer.isWindowUnderMouse(win); win.dispose(); } }
/** * Assuming that mouse location is stored in PointerInfo passed * to this method, it finds a Component that is in the same * Window as this Component and is located under the mouse pointer. * If no such Component exists, null is returned. * NOTE: this method should be called under the protection of * tree lock, as it is done in Component.getMousePosition() and * Container.getMousePosition(boolean). */ Component findUnderMouseInWindow(PointerInfo pi) { if (!isShowing()) { return null; } Window win = getContainingWindow(); Toolkit toolkit = Toolkit.getDefaultToolkit(); if (!(toolkit instanceof ComponentFactory)) { return null; } if (!((ComponentFactory) toolkit).getMouseInfoPeer().isWindowUnderMouse(win)) { return null; } final boolean INCLUDE_DISABLED = true; Point relativeToWindow = win.pointRelativeToComponent(pi.getLocation()); Component inTheSameWindow = win.findComponentAt(relativeToWindow.x, relativeToWindow.y, INCLUDE_DISABLED); return inTheSameWindow; }
private void init(GraphicsDevice screen) throws AWTException { checkRobotAllowed(); Toolkit toolkit = Toolkit.getDefaultToolkit(); if (toolkit instanceof ComponentFactory) { peer = ((ComponentFactory)toolkit).createRobot(this, screen); disposer = new RobotDisposer(peer); sun.java2d.Disposer.addRecord(anchor, disposer); } initLegalButtonMask(); }
final ComponentFactory getComponentFactory() { final Toolkit toolkit = Toolkit.getDefaultToolkit(); if (toolkit instanceof ComponentFactory) { return (ComponentFactory) toolkit; } throw new AWTError("UI components are unsupported by: " + toolkit); }
final ComponentFactory getComponentFactory() { final Toolkit toolkit = getToolkit(); if (toolkit instanceof ComponentFactory) { return (ComponentFactory) toolkit; } throw new AWTError("UI components are unsupported by: " + toolkit); }
/** * Returns a {@code PointerInfo} instance that represents the current * location of the mouse pointer. * The {@code GraphicsDevice} stored in this {@code PointerInfo} * contains the mouse pointer. The coordinate system used for the mouse position * depends on whether or not the {@code GraphicsDevice} is part of a virtual * screen device. * For virtual screen devices, the coordinates are given in the virtual * coordinate system, otherwise they are returned in the coordinate system * of the {@code GraphicsDevice}. See {@link GraphicsConfiguration} * for more information about the virtual screen devices. * On systems without a mouse, returns {@code null}. * <p> * If there is a security manager, its {@code checkPermission} method * is called with an {@code AWTPermission("watchMousePointer")} * permission before creating and returning a {@code PointerInfo} * object. This may result in a {@code SecurityException}. * * @exception HeadlessException if GraphicsEnvironment.isHeadless() returns true * @exception SecurityException if a security manager exists and its * {@code checkPermission} method doesn't allow the operation * @see GraphicsConfiguration * @see SecurityManager#checkPermission * @see java.awt.AWTPermission * @return location of the mouse pointer * @since 1.5 */ public static PointerInfo getPointerInfo() throws HeadlessException { if (GraphicsEnvironment.isHeadless()) { throw new HeadlessException(); } SecurityManager security = System.getSecurityManager(); if (security != null) { security.checkPermission(AWTPermissions.WATCH_MOUSE_PERMISSION); } Toolkit toolkit = Toolkit.getDefaultToolkit(); Point point = new Point(0, 0); int deviceNum = 0; if (toolkit instanceof ComponentFactory) { deviceNum = ((ComponentFactory) toolkit).getMouseInfoPeer().fillPointWithCoords(point); } GraphicsDevice[] gds = GraphicsEnvironment.getLocalGraphicsEnvironment(). getScreenDevices(); PointerInfo retval = null; if (areScreenDevicesIndependent(gds)) { retval = new PointerInfo(gds[deviceNum], point); } else { for (int i = 0; i < gds.length; i++) { GraphicsConfiguration gc = gds[i].getDefaultConfiguration(); Rectangle bounds = gc.getBounds(); if (bounds.contains(point)) { retval = new PointerInfo(gds[i], point); } } } return retval; }
/** * Gets the peer of this {@code Font}. * * @return the peer of the {@code Font}. */ private FontPeer getFontPeer() { if(peer == null) { Toolkit tk = Toolkit.getDefaultToolkit(); if (tk instanceof ComponentFactory) { peer = ((ComponentFactory) tk).getFontPeer(name, style); } } return peer; }
private void init(GraphicsDevice screen) throws AWTException { checkRobotAllowed(); gdLoc = screen.getDefaultConfiguration().getBounds().getLocation(); Toolkit toolkit = Toolkit.getDefaultToolkit(); if (toolkit instanceof ComponentFactory) { peer = ((ComponentFactory)toolkit).createRobot(this, screen); } }
private void init(GraphicsDevice screen) throws AWTException { checkRobotAllowed(); gdLoc = screen.getDefaultConfiguration().getBounds().getLocation(); Toolkit toolkit = Toolkit.getDefaultToolkit(); if (toolkit instanceof ComponentFactory) { peer = ((ComponentFactory)toolkit).createRobot(this, screen); disposer = new RobotDisposer(peer); sun.java2d.Disposer.addRecord(anchor, disposer); } initLegalButtonMask(); }
/** * The accessor method for the singleton DataTransferer instance. Note * that in a headless environment, there may be no DataTransferer instance; * instead, null will be returned. */ public static synchronized DataTransferer getInstance() { return ((ComponentFactory) Toolkit.getDefaultToolkit()).getDataTransferer(); }