Skip to content

Commit

Permalink
8310238: [test bug] javax/swing/JTableHeader/6889007/bug6889007.java …
Browse files Browse the repository at this point in the history
…fails

Backport-of: 2cf5c2f4b6cdb52a3560ab03d272f19f47b22b17
  • Loading branch information
Andrew Lu committed Jan 25, 2024
1 parent 1c12d16 commit 6e850f3
Showing 1 changed file with 22 additions and 5 deletions.
27 changes: 22 additions & 5 deletions test/jdk/javax/swing/JTableHeader/6889007/bug6889007.java
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2010, 2023, 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 @@ -30,6 +30,7 @@

import java.awt.Cursor;
import java.awt.Dimension;
import java.awt.MouseInfo;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.Robot;
Expand All @@ -47,12 +48,15 @@ public class bug6889007 {
static JFrame frame;
static Robot robot;
static volatile Point point;
static volatile Point mouseLoc;
static volatile int width;
static volatile int height;
static volatile boolean ignoreFirst = false;

public static void main(String[] args) throws Exception {
try {
robot = new Robot();
robot.mouseMove(100, 100);

SwingUtilities.invokeAndWait(() -> {
frame = new JFrame();
Expand All @@ -74,14 +78,21 @@ public static void main(String[] args) throws Exception {
robot.waitForIdle();
robot.delay(1000);
SwingUtilities.invokeAndWait(() -> {
mouseLoc = MouseInfo.getPointerInfo().getLocation();
point = frame.getLocationOnScreen();
width = frame.getWidth();
height = frame.getHeight();
});
if ((mouseLoc.x >= point.x) && (mouseLoc.x < point.x + width) &&
(mouseLoc.y >= point.y) && (mouseLoc.y < point.y + height)) {
System.out.println("pointer is within window");
ignoreFirst = true;
MyTableHeaderUI.testValue = 0;
}
int shift = 10;
int x = point.x;
int y = point.y + height/2;
for(int i = -shift; i < width + 2*shift; i++) {
for (int i = -shift; i < width + 2*shift; i++) {
robot.mouseMove(x++, y);
robot.delay(100);
}
Expand All @@ -102,15 +113,21 @@ public static void main(String[] args) throws Exception {
}

static class MyTableHeaderUI extends BasicTableHeaderUI {
private static int testValue;
private static volatile int testValue;

protected void rolloverColumnUpdated(int oldColumn, int newColumn) {
increaseTestValue(newColumn);
Cursor cursor = Cursor.getPredefinedCursor(Cursor.E_RESIZE_CURSOR);
System.out.println("oldColumn " + oldColumn + " newColumn " + newColumn +
" header.getCursor " + header.getCursor() + " cursor " + cursor);
if (ignoreFirst) {
ignoreFirst = false;
if (newColumn == 0) {
return;
}
}
if (oldColumn != -1 && newColumn != -1 &&
header.getCursor() != cursor) {
System.out.println("oldColumn " + oldColumn + " newColumn " + newColumn +
"header.getCursor " + header.getCursor() + " cursor " + cursor);
try {
Dimension screenSize =
Toolkit.getDefaultToolkit().getScreenSize();
Expand Down

1 comment on commit 6e850f3

@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.