test/jdk/java/awt/dnd/ImageDecoratedDnDNegative/ImageDecoratedDnDNegative.java
changeset 54231 e4813eded7cb
parent 47216 71c04702a3d5
--- a/test/jdk/java/awt/dnd/ImageDecoratedDnDNegative/ImageDecoratedDnDNegative.java	Wed Feb 27 14:30:08 2019 -0800
+++ b/test/jdk/java/awt/dnd/ImageDecoratedDnDNegative/ImageDecoratedDnDNegative.java	Wed Feb 27 18:46:55 2019 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2018, 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
@@ -22,14 +22,13 @@
  */
 
 /*
-  test %W% %E%
-  @bug 4874070 7146550
+  @test
+  @key headful
+  @bug 4874070
   @summary Tests basic DnD functionality
-  @author Your Name: Alexey Utkin area=dnd
-  @run applet ImageDecoratedDnDNegative.html
+  @run main ImageDecoratedDnDNegative
 */
 
-import java.applet.Applet;
 import java.awt.*;
 import java.awt.Robot;
 import java.awt.event.InputEvent;
@@ -39,39 +38,26 @@
 
 import java.awt.dnd.DragSource;
 
-
-public class ImageDecoratedDnDNegative extends Applet {
-    //Declare things used in the test, like buttons and labels here
-
-    public void init() {
-        //Create instructions for the user here, as well as set up
-        // the environment -- set the layout manager, add buttons,
-        // etc.
-        this.setLayout(new BorderLayout());
+/*
+    "Automatic test.",
+    "A Frame, which contains a yellow button labeled \"Drag ME!\" and ",
+    "a red panel, will appear below. ",
+    "1. The button would be clicked and dragged to the red panel. ",
+    "2. When the mouse enters the red panel during the drag, the panel ",
+    "should turn yellow. On the systems that supports pictured drag, ",
+    "the image under the drag-cursor should appear (ancor is shifted ",
+    "from top-left corner of the picture inside the picture to 10pt in both dimensions ). ",
+    "In WIN32 systems the image under cursor would be visible ONLY over ",
+    "the drop targets with activated extended OLE D\'n\'D support (that are ",
+    "the desktop and IE ).",
+    "3. The mouse would be released.",
+    "The panel should turn red again and a yellow button labeled ",
+    "\"Drag ME!\" should appear inside the panel. You should be able ",
+    "to repeat this operation multiple times."
+ */
+public class ImageDecoratedDnDNegative {
 
-        String[] instructions =
-                {
-                        "Automatic test.",
-                        "A Frame, which contains a yellow button labeled \"Drag ME!\" and ",
-                        "a red panel, will appear below. ",
-                        "1. The button would be clicked and dragged to the red panel. ",
-                        "2. When the mouse enters the red panel during the drag, the panel ",
-                        "should turn yellow. On the systems that supports pictured drag, ",
-                        "the image under the drag-cursor should appear (ancor is shifted ",
-                        "from top-left corner of the picture inside the picture to 10pt in both dimensions ). ",
-                        "In WIN32 systems the image under cursor would be visible ONLY over ",
-                        "the drop targets with activated extended OLE D\'n\'D support (that are ",
-                        "the desktop and IE ).",
-                        "3. The mouse would be released.",
-                        "The panel should turn red again and a yellow button labeled ",
-                        "\"Drag ME!\" should appear inside the panel. You should be able ",
-                        "to repeat this operation multiple times."
-                };
-        Sysout.createDialogWithInstructions(instructions);
-
-    }//End  init()
-
-    public void moveTo(
+    public static void moveTo(
         Robot r,
         Point b,
         Point e)
@@ -95,7 +81,7 @@
         r.delay(5);
     }
 
-    public void start() {
+    public static void main(final String[] args) {
         Frame f = new Frame("Use keyboard for DnD change");
         Panel mainPanel;
         Component dragSource, dropTarget;
@@ -114,7 +100,8 @@
         mainPanel.add(dragSource, "North");
         mainPanel.add(dropTarget, "Center");
         f.add(mainPanel, BorderLayout.CENTER);
-
+        f.setUndecorated(true);
+        f.setLocationRelativeTo(null);
         f.setVisible(true);
 
         Point sourcePoint = dragSource.getLocationOnScreen();
@@ -123,6 +110,7 @@
 
         try {
             Robot robot = new Robot();
+            robot.waitForIdle();
             robot.mouseMove(sourcePoint.x, sourcePoint.y);
             Point start = new Point(
                     sourcePoint.x,
@@ -155,112 +143,5 @@
             e.printStackTrace();
             throw new RuntimeException("test failed: drop was not successful with exception " + e);
         }
-    }// start()
+    }
 }// class DnDAcceptanceTest
-
-
-/**
- * *************************************************
- * Standard Test Machinery
- * DO NOT modify anything below -- it's a standard
- * chunk of code whose purpose is to make user
- * interaction uniform, and thereby make it simpler
- * to read and understand someone else's test.
- * **************************************************
- */
-class Sysout {
-    private static TestDialog dialog;
-
-    public static void createDialogWithInstructions(String[] instructions) {
-        dialog = new TestDialog(new Frame(), "Instructions");
-        dialog.printInstructions(instructions);
-        dialog.show();
-        println("Any messages for the tester will display here.");
-    }
-
-    public static void createDialog() {
-        dialog = new TestDialog(new Frame(), "Instructions");
-        String[] defInstr = {"Instructions will appear here. ", ""};
-        dialog.printInstructions(defInstr);
-        dialog.show();
-        println("Any messages for the tester will display here.");
-    }
-
-
-    public static void printInstructions(String[] instructions) {
-        dialog.printInstructions(instructions);
-    }
-
-
-    public static void println(String messageIn) {
-        dialog.displayMessage(messageIn);
-    }
-
-}// Sysout  class
-
-
-class TestDialog extends Dialog {
-
-    TextArea instructionsText;
-    TextArea messageText;
-    int maxStringLength = 80;
-
-    //DO NOT call this directly, go through Sysout
-    public TestDialog(Frame frame, String name) {
-        super(frame, name);
-        int scrollBoth = TextArea.SCROLLBARS_BOTH;
-        instructionsText = new TextArea("", 15, maxStringLength, scrollBoth);
-        add("North", instructionsText);
-
-        messageText = new TextArea("", 5, maxStringLength, scrollBoth);
-        add("South", messageText);
-
-        pack();
-
-        show();
-    }// TestDialog()
-
-    //DO NOT call this directly, go through Sysout
-    public void printInstructions(String[] instructions) {
-        //Clear out any current instructions
-        instructionsText.setText("");
-
-        //Go down array of instruction strings
-
-        String printStr, remainingStr;
-        for (int i = 0; i < instructions.length; i++) {
-            //chop up each into pieces maxSringLength long
-            remainingStr = instructions[i];
-            while (remainingStr.length() > 0) {
-                //if longer than max then chop off first max chars to print
-                if (remainingStr.length() >= maxStringLength) {
-                    //Try to chop on a word boundary
-                    int posOfSpace = remainingStr.
-                            lastIndexOf(' ', maxStringLength - 1);
-
-                    if (posOfSpace <= 0) posOfSpace = maxStringLength - 1;
-
-                    printStr = remainingStr.substring(0, posOfSpace + 1);
-                    remainingStr = remainingStr.substring(posOfSpace + 1);
-                }
-                //else just print
-                else {
-                    printStr = remainingStr;
-                    remainingStr = "";
-                }
-
-                instructionsText.append(printStr + "\n");
-
-            }// while
-
-        }// for
-
-    }//printInstructions()
-
-    //DO NOT call this directly, go through Sysout
-    public void displayMessage(String messageIn) {
-        messageText.append(messageIn + "\n");
-    }
-
-}// TestDialog  class
-