Skip to content

Commit

Permalink
8142540: [TEST_BUG] Test sun/awt/dnd/8024061/bug8024061.java fails on…
Browse files Browse the repository at this point in the history
… ubuntu

Reviewed-by: andrew
Backport-of: 84dd5699d5571e586b2763da34d2a76851695854
  • Loading branch information
mrserb committed Feb 13, 2023
1 parent cbde744 commit c183dc5
Showing 1 changed file with 18 additions and 10 deletions.
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

1 comment on commit c183dc5

@openjdk-notifier
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.