--- old/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicScrollBarUI.java 2017-07-26 11:37:41.235288000 +0530 +++ new/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicScrollBarUI.java 2017-07-26 11:37:40.302808500 +0530 @@ -1503,13 +1503,23 @@ scrollByUnit(direction); scrollTimer.stop(); - scrollListener.setDirection(direction); - scrollListener.setScrollByBlock(false); - scrollTimer.start(); + if (SwingUtilities.windowForComponent((Component)e.getSource()) + .isFocused()) { + scrollListener.setDirection(direction); + scrollListener.setScrollByBlock(false); + scrollTimer.start(); - handledEvent = true; - if (!scrollbar.hasFocus() && scrollbar.isRequestFocusEnabled()) { - scrollbar.requestFocus(); + handledEvent = true; + if (!scrollbar.hasFocus() && scrollbar.isRequestFocusEnabled()) { + scrollbar.requestFocus(); + } + } else { + scrollbar.setValueIsAdjusting(false); + ButtonModel model = ((AbstractButton)e.getSource()).getModel(); + if (model != null) { + model.setPressed(false); + model.setRollover(false); + } } }