У меня есть текстовая область с 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);
, но это не имеет никакого значения.
Каков предпочтительный способ создания пользовательского дисплея для полос прокрутки?
невозможно в общем случае: как/если/то, что именно окрашено в качестве фона, зависит от LAF, f.i. Металл принимает прозрачный, выигрыш вовсе не существует. Вы ничего не можете сделать, не пытаясь расширить LAF (как уже было предложено @mKorbel) – kleopatra