перекрасить и установить цвет в AWT - PullRequest
0 голосов
/ 20 сентября 2009

Почему setColor объекта Graphics сбрасывается при использовании метода repaint?

Ответы [ 3 ]

2 голосов
/ 21 сентября 2009

видно здесь

Когда AWT вызывает этот метод, параметр объекта Graphics предварительно конфигурируется с соответствующим состоянием для рисования на этом конкретном компоненте:
Цвет объекта Graphics устанавливается на свойство переднего плана компонента.
Для шрифта графического объекта установлено свойство шрифта компонента.
Перевод объекта Graphics устанавливается так, что координата (0,0) представляет верхний левый угол компонента.
Прямоугольник клипа объекта Graphics устанавливается на область компонента, которая нуждается в перерисовке.

Это означает, что ваш объект Graphics всегда сбрасывается в свойство вашего компонента каждый раз, когда вызывается метод рисования / перекраски. Чтобы сохранить ваш Color (setColor), вы должны установитьColor для вашего компонента, а не для вашего объекта Graphics.

0 голосов
/ 21 сентября 2009

Возможно, вы рисуете изображение. Если это так: после рисования изображения цвет по умолчанию возвращается к Color.BLACK

0 голосов
/ 20 сентября 2009

Я предполагаю, что вы переопределяете paint(Graphics) (или, возможно, update), и не всегда устанавливаете там цвет. Component устанавливает цвет (и шрифт) объекта Graphics из его собственных настроек. Получаемый вами Graphics объект вряд ли будет одним и тем же от одной краски к другой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...