Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

8142540: [TEST_BUG] Test sun/awt/dnd/8024061/bug8024061.java fails on ubuntu #266

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
28 changes: 18 additions & 10 deletions jdk/test/sun/awt/dnd/8024061/bug8024061.java
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, 2017 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
Expand Down Expand Up @@ -68,9 +68,14 @@ public class bug8024061 {
private static final DataFlavor DropObjectFlavor;
private static final int DELAY = 1000;

private final DnDPanel panel1 = new DnDPanel(Color.yellow);
private final DnDPanel panel2 = new DnDPanel(Color.pink);
static final DnDPanel panel1 = new DnDPanel(Color.yellow);
static final DnDPanel panel2 = new DnDPanel(Color.pink);
private final JFrame frame;
static Point here;
static Point there;
static Dimension d;



private static final CountDownLatch lock = new CountDownLatch(1);
private static volatile Exception dragEnterException = null;
Expand All @@ -89,7 +94,7 @@ public class bug8024061 {
frame = new JFrame("DnDWithRobot");
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

Dimension d = new Dimension(100, 100);
d = new Dimension(100, 100);

panel1.setPreferredSize(d);
panel2.setPreferredSize(d);
Expand Down Expand Up @@ -124,12 +129,15 @@ public void run() {
final Robot robot = new Robot();
robot.setAutoDelay(10);
robot.waitForIdle();
robot.delay(200);

JFrame frame = dnd[0].frame;
Point point = frame.getLocationOnScreen();
Point here = new Point(point.x + 35, point.y + 45);
Point there = new Point(point.x + 120, point.y + 45);
here.x += 25;
SwingUtilities.invokeAndWait(() -> {
here = panel1.getLocationOnScreen();
there = panel2.getLocationOnScreen();
});
here.translate(d.width / 2, d.height / 2);
there.translate(d.width / 2, d.height / 2);
robot.mouseMove(here.x, here.y);
robot.mousePress(InputEvent.BUTTON1_MASK);
while (here.x < there.x) {
Expand Down Expand Up @@ -157,7 +165,7 @@ public void run() {
throw new RuntimeException("Timed out waiting for dragEnter()");
}
} finally {
frame.dispose();
SwingUtilities.invokeLater(frame::dispose);
}
}

Expand Down Expand Up @@ -218,7 +226,7 @@ public Object getTransferData(DataFlavor flavor)
}
}

class DnDPanel extends JPanel {
static class DnDPanel extends JPanel {
DropObject dropObject;
final DragSource dragSource;
final DropTarget dropTarget;
Expand Down