JRE-604 [followup]
diff --git a/test/java/awt/hidpi/ClientAreaOriginWindowsTest.java b/test/java/awt/hidpi/ClientAreaOriginWindowsTest.java
index 2ddbe50..5dd1bcc 100644
--- a/test/java/awt/hidpi/ClientAreaOriginWindowsTest.java
+++ b/test/java/awt/hidpi/ClientAreaOriginWindowsTest.java
@@ -66,9 +66,14 @@
EventQueue.invokeLater(() -> show());
timer = new Timer(100, (event) -> {
- Insets in = frame.getInsets();
- Point loc = frame.getLocation();
- Rectangle rect = new Rectangle(loc.x, loc.y, in.left + 5, in.top + 5);
+ Point loc;
+ try {
+ loc = frame.getContentPane().getLocationOnScreen();
+ } catch (IllegalComponentStateException e) {
+ latch.countDown();
+ return;
+ }
+ Rectangle rect = new Rectangle(loc.x - 1, loc.y - 1, 6, 6);
Robot robot;
try {
robot = new Robot();
@@ -161,6 +166,18 @@
}
};
+ // Backs the main frame with black color.
+ JFrame bgFrame = new JFrame("bg_frame");
+ bgFrame.setUndecorated(true);
+ bgFrame.setSize(F_WIDTH * 2, F_HEIGHT * 2);
+ bgFrame.setLocationRelativeTo(null);
+ bgFrame.setAlwaysOnTop(true);
+ JPanel cp = new JPanel();
+ cp.setOpaque(true);
+ cp.setBackground(Color.black);
+ bgFrame.setContentPane(cp);
+ bgFrame.setVisible(true);
+
frame.add(panel);
frame.pack();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);