Кнопки определены в пользовательском интерфейсе JScrollBar, поэтому вам нужно расширить реализацию пользовательского интерфейса по умолчанию. Конечно, это зависит от платформы. В моем примере я покажу вам, как это сделать с BasicScrollBarUI
.
Вы можете определить пользовательский JScrollBar, вызвав JScrollPane.setVerticalScrollBar(new CustomScrollBar());
В вашей CustomScrollBar вы можете сделать следующее:
public class CustomScrollBar extends JScrollBar {
public CustomScrollBar() {
setUI(new CustomUI());
}
class CustomUI extends BasicScrollBarUI {
@Override
protected void installListeners() {
super.installListeners();
if (incrButton != null) {
incrButton.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
//Increment button is clicked!
}
});
}
if (decrButton != null) {
decrButton.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
//Decrement button is clicked!
}
});
}
}
}
}
Я тестировал его под XP, но без JScrollPane
.
Надеюсь, это поможет!