RFR: 8344981: [REDO] JDK-6672644 JComboBox still scrolling if switch to another window and return back

Alexander Zvegintsev azvegint at openjdk.org
Mon Feb 10 21:56:13 UTC 2025


On Tue, 4 Feb 2025 23:35:32 GMT, Damon Nguyen <dnguyen at openjdk.org> wrote:

> Redo for JComboBox infinite scrolling issue. The issue is that when a scrollbar is clicked and held, if the user switches focus (ex: ALT+TAB) while scrolling, when focused is returned to the scrolling application, the JComboBox will still be scrolling even though nothing it being clicked.
> 
> Previously, a KeyboardFocusListener was added to determine the focus. However, there was a memory leak on Windows and Ubuntu. This current implementation uses the current FocusManager and is overall a cleaner, simpler approach.
> 
> CI testing is green on all platforms.

src/java.desktop/share/classes/javax/swing/plaf/basic/BasicScrollBarUI.java line 1620:

> 1618:             do {
> 1619:                 // If application isn't in focus, stop the timer
> 1620:                 if (focusOwner == null) {

Suggestion:

            do {
                if (!scrollbar.isShowing()) {


I haven't tested this solution well, but you can try to stop the timer when the scrollbar is not showing.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/23451#discussion_r1949949286


More information about the client-libs-dev mailing list