--- old/src/java.desktop/share/classes/sun/awt/ComponentFactory.java 2020-02-18 23:06:49.000000000 -0800 +++ new/src/java.desktop/share/classes/sun/awt/ComponentFactory.java 2020-02-18 23:06:49.000000000 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2020, 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 @@ -25,12 +25,60 @@ package sun.awt; -import java.awt.peer.TaskbarPeer; -import java.awt.*; +import java.awt.AWTException; +import java.awt.Button; +import java.awt.Canvas; +import java.awt.Checkbox; +import java.awt.CheckboxMenuItem; +import java.awt.Choice; +import java.awt.Component; +import java.awt.Desktop; +import java.awt.Dialog; +import java.awt.FileDialog; +import java.awt.Frame; +import java.awt.GraphicsDevice; +import java.awt.HeadlessException; +import java.awt.Label; +import java.awt.Menu; +import java.awt.MenuBar; +import java.awt.MenuItem; +import java.awt.Panel; +import java.awt.PopupMenu; +import java.awt.ScrollPane; +import java.awt.Scrollbar; +import java.awt.Taskbar; +import java.awt.TextArea; +import java.awt.TextField; +import java.awt.Window; import java.awt.dnd.DragGestureEvent; import java.awt.dnd.InvalidDnDOperationException; import java.awt.dnd.peer.DragSourceContextPeer; -import java.awt.peer.*; +import java.awt.peer.ButtonPeer; +import java.awt.peer.CanvasPeer; +import java.awt.peer.CheckboxMenuItemPeer; +import java.awt.peer.CheckboxPeer; +import java.awt.peer.ChoicePeer; +import java.awt.peer.DesktopPeer; +import java.awt.peer.DialogPeer; +import java.awt.peer.FileDialogPeer; +import java.awt.peer.FontPeer; +import java.awt.peer.FramePeer; +import java.awt.peer.LabelPeer; +import java.awt.peer.LightweightPeer; +import java.awt.peer.ListPeer; +import java.awt.peer.MenuBarPeer; +import java.awt.peer.MenuItemPeer; +import java.awt.peer.MenuPeer; +import java.awt.peer.MouseInfoPeer; +import java.awt.peer.PanelPeer; +import java.awt.peer.PopupMenuPeer; +import java.awt.peer.RobotPeer; +import java.awt.peer.ScrollPanePeer; +import java.awt.peer.ScrollbarPeer; +import java.awt.peer.TaskbarPeer; +import java.awt.peer.TextAreaPeer; +import java.awt.peer.TextFieldPeer; +import java.awt.peer.WindowPeer; import sun.awt.datatransfer.DataTransferer; @@ -437,9 +485,17 @@ return null; } - default RobotPeer createRobot(Robot target, GraphicsDevice screen) - throws AWTException { - throw new HeadlessException(); + /** + * Creates the peer for a Robot. + * + * @param screen the GraphicsDevice indicating the coordinate system the + * Robot will operate in + * @return the peer created + * @throws AWTException if the platform configuration does not allow + * low-level input control + */ + default RobotPeer createRobot(GraphicsDevice screen) throws AWTException { + throw new AWTException(String.format("Unsupported device: %s", screen)); } default DataTransferer getDataTransferer() {