Java2d: JPanel установить цвет фона не работает - PullRequest
1 голос
/ 14 мая 2010

У меня есть код, показанный ниже:

public VizCanvas(){
    {
        this.setBackground(Color.black);
        this.setSize(400,400);
    }
}

Работает нормально и отображает панель на черном фоне. Но когда я реализую метод рисования, который ничего не делает, цвет меняется на цвет по умолчанию, то есть серый.

Я пытался установить graphics.setColor (), но это не помогло.

Ответы [ 2 ]

9 голосов
/ 14 мая 2010

Вам нужно сделать заливку холста до цвета фона в методе рисования. Что-то вроде:

g.setColor(Color.BLACK);
g.fillRect(0, 0, getWidth(), getHeight());

После этого нарисуйте все, что вам нужно. Вы также можете попробовать вызвать super.paint(g) в методе рисования, прежде чем делать что-либо.

2 голосов
/ 14 мая 2010

Настраиваемое рисование должно выполняться путем переопределения метода paintComponent (), а НЕ метода paint (). Затем все, что вам нужно сделать, это вызвать super.paintComponent (), чтобы нарисовать фон.

Установка размера компонента ничего не делает. Менеджер по расположению переопределит размер. Вы должны установить предпочтительный размер или переопределить метод getPreferredSize ().

Прочитайте учебник Swing для основ Swing. Существуют разделы «Пользовательская роспись» и «Использование менеджеров по макету».

...