自定义设计 JScollPane Java Swing

我需要为我的所有滚动窗格设计这个滚动条:

enter image description here

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

谢谢。

问候


答案 1

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

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

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

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
    }
}

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


答案 2

1) 覆盖 JToolBar

2)大多数自定义外观和感觉都覆盖了这一点