On Thu, 28 Sep 2023 11:18:16 GMT, Ravi Gupta <d...@openjdk.org> wrote:
> Write a test to check textArea triggers MouseEntered/MouseExited events > properly > > MouseEntered should be triggered only when the mouse enters the component and > MouseExited should be triggered when the mouse goes out of the component. > > In TextArea, when we moved the mouse inside the component MouseMoved events > are triggered properly. But when we slowly took the mouse outside the > component that is towards the scrollbars, we could see a MouseEntered event > being triggered followed by MouseExited.(before actually mouse enters the > scrollbar) > > Testing: > Tested using Mach5(20 times per platform) in macos,linux and windows and got > all pass. Is there source code fix or PR associated with this test. Since the PR description mentions "MouseEntered/Exited" events does not occur properly. test/jdk/java/awt/event/MouseEvent/MouseEnterExitTest.java line 46: > 44: private static Frame frame; > 45: private volatile static TextArea textArea; > 46: private volatile static List list; Since TextArea and List are accessed only within invokeAndWait they need not be volatile. test/jdk/java/awt/event/MouseEvent/MouseEnterExitTest.java line 55: > 53: > 54: private static MouseListener mListener = new MouseListener() { > 55: public void mouseClicked(MouseEvent e) { MouseAdapter can be used since only mouseEntered() & mouseExited() are being overridden. test/jdk/java/awt/event/MouseEvent/MouseEnterExitTest.java line 66: > 64: public void mouseEntered(MouseEvent e) { > 65: System.out > 66: .println("MouseEntered " + > e.getSource().getClass().getName()); It is a bit odd to have a line break after sys.out. It looks better this way. System.out.println("MouseEntered " + e.getSource().getClass().getName()); test/jdk/java/awt/event/MouseEvent/MouseEnterExitTest.java line 76: > 74: public void mouseExited(MouseEvent e) { > 75: System.out > 76: .println("MouseExited " + > e.getSource().getClass().getName()); Same here. Line break. test/jdk/java/awt/event/MouseEvent/MouseEnterExitTest.java line 95: > 93: frame.add(list); > 94: > 95: textArea = new TextArea("TextArea"); Rows and columns can be specified for the TextArea to reduce scan time. Suggestion: textArea = new TextArea("TextArea", 10, 10); test/jdk/java/awt/event/MouseEvent/MouseEnterExitTest.java line 134: > 132: if (frame != null) { > 133: frame.dispose(); > 134: frame = null; After frame.dispose() assigning the var back to null is unnecessary. ------------- Changes requested by honkar (Committer). PR Review: https://git.openjdk.org/jdk/pull/15961#pullrequestreview-1658089956 PR Review Comment: https://git.openjdk.org/jdk/pull/15961#discussion_r1346215327 PR Review Comment: https://git.openjdk.org/jdk/pull/15961#discussion_r1346187770 PR Review Comment: https://git.openjdk.org/jdk/pull/15961#discussion_r1346196406 PR Review Comment: https://git.openjdk.org/jdk/pull/15961#discussion_r1346197393 PR Review Comment: https://git.openjdk.org/jdk/pull/15961#discussion_r1346213448 PR Review Comment: https://git.openjdk.org/jdk/pull/15961#discussion_r1346199402