自定义显示 JScrollPane 的实际滚动条(使透明)



我有一个带有JScrollPane的文本区域,并且正在用诸如以下内容来定制显示;

    JTextArea text = new JTextArea();
    text.setOpaque(false);
    text.setFont(...);
    text.setForeground(Color.white);
    text.setBackground(Color.black);
    JScrollPane scroll = new JScrollPane(text);
    scroll.setOpaque(false);
    scroll.getViewport().setOpaque(false);

并且滚动和文本区域显示为透明(不透明(,但是,我似乎无法影响实际的滚动条。它们仍然显示为默认的灰色,我想更改它们的颜色和/或使它们透明以匹配其余颜色。

我试过这样的事情

     scroll.setBackground(Color.black);
     scroll.getVerticalScrollBar().setOpaque(false);

但这没有任何区别。

为滚动条进行自定义显示的首选方法是什么?

并且滚动和文本区域显示为透明(不透明(, 但是,我似乎无法影响实际的滚动条。他们仍然 显示为默认的灰色,我想在其中更改其颜色 和/或使它们透明以匹配其余部分。

有两种方式

  • 您需要覆盖BasicScrollBarUI()

  • 没有任何共产主义百万美元宝贝由@aterai,

  • 只有VerticalScrollBar,您需要覆盖并添加HorizontalScrollBar,以ScrollPaneLayout()返回协调Horizontal JScrollBar

相关内容

  • 没有找到相关文章

最新更新