JScrollPanel с пользовательским фоном - PullRequest
2 голосов
/ 08 июня 2011

Я пытаюсь создать прокручиваемое меню с элементом в нем

Я хочу иметь возможность рисовать пользовательский фон для прокрутки и исправить его при прокрутке среди элементов

для рисования фона я использую

@Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        if(background != null){
            background.paintIcon(this,g);
        }
    }

моя проблема, когда я пытаюсь установить непрозрачность контейнера JScrollBar в false, я получаю белый фон

enter image description here

Как вы можете видеть, я хочу, чтобы фон был такой же "поверхностью", как и другие части.

Есть идеи, что вызывает эту проблему?

Джейсон

1 Ответ

4 голосов
/ 08 июня 2011

Распространенная проблема.Вы на самом деле не «видите» JScrollPane, а видоискатель JScrollPane.Вам нужно выполнить все ваши действия с графическим интерфейсом в JScrollPane.getViewport () (или что-то в этом роде)

Поэтому, чтобы сделать JScrollPane прозрачным, вы должны использовать JScrollPane.getViewport (). SetOpaque (false)

...