gpt4 book ai didi

java - JScrollBar 箭头按钮的 MouseListener

转载 作者:太空宇宙 更新时间:2023-11-04 08:19:19 25 4
gpt4 key购买 nike

http://s019.radikal.ru/i626/1203/ae/8420ef7757f7.png

    JScrollPane.getVerticalScrollBar().addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
System.out.println("mouseClicked");
}
public void mousePressed(MouseEvent e) {
System.out.println("mousePressed");
}
public void mouseReleased(MouseEvent e) {
System.out.println("mouseReleased");
}
});

如果我单击 strip ,它会起作用,但当我单击按钮时,它不起作用

最佳答案

这些按钮是在 JScrollBar 的 UI 中定义的,因此您需要扩展默认的 UI 实现。当然,它依赖于平台。在我的示例中,我将向您展示如何使用 BasicScrollBarUI 来完成此操作。您可以通过调用 JScrollPane.setVerticalScrollBar(new CustomScrollBar()); 来定义自定义 JScrollBar在 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。希望对您有所帮助!

关于java - JScrollBar 箭头按钮的 MouseListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9863995/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com