我有一个带有JScrollPane
的文字区域,我正在使用像<; p>这样的东西来定制显示
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);
但它没有任何区别。
为滚动条执行自定义显示的首选方法是什么?
答案 0 :(得分:1)
并且滚动和文本区域显示为透明(非不透明), 但是,我似乎无法影响实际的滚动条。他们仍然 显示为默认的灰色,我想改变它们的颜色 和/或使它们透明以匹配其余部分。
有两种方式
您需要覆盖BasicScrollBarUI()
,
只有VerticalScrollBar
,您需要覆盖并添加HorizontalScrollBar
,ScrollPaneLayout()
返回Horizontal JScrollBar
的协调,