Я делаю следующее с объектом Canvas
.
graphics.setColor(BLUE);
graphics.fill(new Rectangle2D.Double(x, y, width, height));
Я хочу сделать цвет заливки плавным, чтобы создать плавный переход от цвета фона холста к новому цвету (и, возможно, сделать так, чтобы исходный цвет исчез).
Я играл с такими вещами (настройка состав графического объекта в AlphaComposite, который Timer
обновляет значение alpha
каждые n миллисекунд), но я мерцаю.
Мне интересно, какую общую концепцию мне не хватает.
Спасибо за любые указатели.
JFrame
илиJApplet
. Вместо этого вы должны убедиться, что 1- вы рисуете поверхность с двойной буферизацией (как и все, что простирается отJComponent
) и 2- вы переопределяете методpaintComponent
и вызываетеsuper.paintComponent
. Взгляните на этот пример который используетAlphaComposite
и не страдает мерцанием... - person MadProgrammer   schedule 30.07.2013I'd like to fade in the fill colour to create a smooth transition from the canvas background colour to the new colour
— класс Fader делает это тогда, когда компонент получает/теряет фокус. - person camickr   schedule 30.07.2013Fader
классу, большое спасибо - person Toby   schedule 31.07.2013