我有一个带有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
,