On Wed, 4 Sep 2024 07:52:08 GMT, Abhishek Kumar <[email protected]> wrote:
>> In a JComboBox, if the user opens the dropdown list and clicks and holds the >> down-button, then ALT-TABs to switch focus, when the user re-focuses the >> frame with the JComboBox and opens the dropdown list again, the list will >> still be scrolling even though the down-button isn't pressed. >> >> This isn't OS or L&F specific, although Aqua L&F does not have any >> directional arrows in the dropdown list (and is thus exempt). This led me to >> believe it could be handled in BasicComboBoxUI where focusLost and focusGain >> are used or isPopupVisible but the scroll behavior cannot be altered here. >> Likewise for BasicComboPopup where `autoscroll` is used. However, this >> behavior isn't related to autoscroll and is actually found in the JScrollbar >> of the JScrollpane inside of the JComboBox. The timer for the scroll action >> starts but is never stopped if focus is lost, so a new listener is created >> and used. The proposed solution uses `KeyboardFocusManager` to track the >> focus owner. The listener stops the `scrollTimer` when the `focusOwner` >> property is changed. With this change, the list no longer automatically >> scrolls when re-focused and instead opens normally. >> >> The included test is manual due to the need to confirm that the list still >> scrolls after ALT-TABing. The L&F is set to Metal since it is the >> cross-platform lookandfeel and has directional buttons for the JScrollPane >> list. > > I can verify on linux machine that it is suto-scrolling but it is > intermittent on windows as well as on linux. Sometimes the list is scrolling > and sometimes it's not. Are you facing the same? > To regain focus, if click on frame title bar then the intermittent issue can > be observed. @kumarabhi006 Tested with the additional changes I made. Looks like it's working now. No other tests are failing in CI with the changes either. Can you check it out again? ------------- PR Comment: https://git.openjdk.org/jdk/pull/20845#issuecomment-2458263614
