2013-08-12 4 views
1

У меня есть текстовая область с 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); 

, но это не имеет никакого значения.

Каков предпочтительный способ создания пользовательского дисплея для полос прокрутки?

+0

невозможно в общем случае: как/если/то, что именно окрашено в качестве фона, зависит от LAF, f.i. Металл принимает прозрачный, выигрыш вовсе не существует. Вы ничего не можете сделать, не пытаясь расширить LAF (как уже было предложено @mKorbel) – kleopatra

ответ

1

и свиток и область текста показываются как прозрачный (непрозрачный), однако, я могу показаться, чтобы не повлиять на фактические полосы прокрутки. Они по-прежнему отображаются как серый цвет по умолчанию, где я хотел бы изменить их цвет и/или сделать их прозрачными в соответствии с остальными.

Есть два способа

  • вам нужно будет переопределить BasicScrollBarUI(),

  • без commnets milion dollars baby by @aterai,

  • существует VerticalScrollBar только, вам необходимо изменить и добавить HorizontalScrollBar , до ScrollPaneLayout(), который возвращается координированным для Horizontal JScrollBar,

+0

Я пытался узнать больше об переопределении классов пользовательского интерфейса (например, BasicScrollBarUI). Любые указатели на лучшее чтение или вы можете немного расширить ответ? – Toby

 Смежные вопросы

  • Нет связанных вопросов^_^