java - 自定义设计 JScollPane Java Swing

标签 java swing scrollbar customization scrollpane

我需要为我所有的滚动面板设计这个滚动条:

enter image description here

使用 Java Swing。我正在使用 Netbeans IDE。什么是最简单的解决方案?

非常感谢。

问候

最佳答案

您可以通过设置自定义 UI 来自定义 Swing 组件的外观。对于滚动 Pane 的滚动条,您可以

scrollPane.getVerticalScrollBar().setUI(new MyScrollBarUI());

其中 MyScrollBarUI 派生自 javax.swing.plaf.basic.BasicScrollBarUI。要对所有滚动条执行此操作(不仅在 JScrollPane 实例中),请调用

UIManager.put("ScrollBarUI", "my.package.MyScrollBarUI");

在创建任何 Swing 组件之前。

MyScrollBarUI 中,您覆盖了以下方法:

public class MyScrollBarUI extends BasicScrollBarUI {

    @Override
    protected void paintTrack(Graphics g, JComponent c, Rectangle trackBounds) {
        // your code
    }

    @Override
    protected void paintThumb(Graphics g, JComponent c, Rectangle thumbBounds) {
        // your code
    }
}

您的滚动条在图形上非常简单,因此实现起来应该不会太难。

关于java - 自定义设计 JScollPane Java Swing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8208508/

相关文章:

java - Java 扩展是否可以在 Play Framework 上运行?

java - jtextarea 数组的声明问题

java - 如何根据条件从数组中获取对象?

css - 为什么即使在使用 bootstrap 后我的 chrome 中仍有水平滚动条

wpf - 是否可以阻止垂直滚动条将 DataGrid 列/标题向左推?

java - 如何从 mac_widgets java api 添加一个小部件到 HudWindow

java - 命名服务类的约定

java - B 样条基函数似乎产生不正确的值

css - MVC WebGrid 中 gridTable 的垂直滚动条

java - 向 JTable 添加条目