1

我有一个带有 a 的文本区域,并且正在使用以下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);

但这没有任何区别。

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

4

1 回答 1

1

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

有两种方法

  • 你需要覆盖BasicScrollBarUI()

  • @aterai没有任何commnets 百万美元宝贝

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

于 2013-08-12T08:47:59.997 回答