<Swing Dev> RFR: 8048109: JToggleButton does not fire actionPerformed under certain conditions
Tejpal Rebari
trebari at openjdk.java.net
Tue Oct 13 08:29:23 UTC 2020
Please review the following fix for jdk16.
Issue : There is a JToggleButton that will post/take down a JPopupMenu when the button is selected. If the button is
selected and the menu is not posted the action listener will post the menu. If the button is selected and the menu is
displayed the action listener will take the menu down. The use case is: 1 - select button 2 - menu posted
3 - select button
4 - menu taken down
With MetalLookAndFeel the above use case works fine, but with WindowsLookAndFeel the second button selection does not
fire the actionPerformed event, button needs to be selected third time for the menu to be taken down.
The issue is that the button must be selected twice after the menu is posted to have the actionPerformed event to fire
when using the Windows look and feel.
Fix : MouseGrabber is not removed while uninstalling the listeners in the BasicPopupMenuUI.
By removing the mouseGrabber in the uninstallListeners() methods fixes this issue.
Added a test to test the same in all the LookAndFeels
-------------
Commit messages:
- changed mode of src file
- changes permission of the test file
- made intenal classes static and moved them inside main class
- minor changes
- Fix for JDK-8048109 and added a test
Changes: https://git.openjdk.java.net/jdk/pull/600/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=600&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8048109
Stats: 167 lines in 2 files changed: 167 ins; 0 del; 0 mod
Patch: https://git.openjdk.java.net/jdk/pull/600.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/600/head:pull/600
PR: https://git.openjdk.java.net/jdk/pull/600
More information about the swing-dev
mailing list