import java.awt.Frame; import java.awt.event.WindowEvent; import java.awt.Canvas; import java.awt.Graphics; import java.awt.AWTEvent; import java.awt.Rectangle; import java.awt.Color; public class ColorFader extends Frame{ public static void main(String[] args) { new ColorFader(); } ColorFader() { enableEvents(AWTEvent.WINDOW_EVENT_MASK); Fader fader = new Fader(); add(fader); pack(); show(); } public void processWindowEvent(WindowEvent event) { if(event.getID() == WindowEvent.WINDOW_CLOSING) { System.exit(0); } } } class Fader extends Canvas { Fader() { setSize(200,200); } public void paint(Graphics g) { Rectangle sreen = getBounds(); int width = sreen.width; int height = 4; int x = 0; int y = 0; int blueStart = 70; int greenStart = 0; int redStart = 0; int blue, green, red; int numRows; numRows = sreen.height/height; for (int i=0; i <= numRows; i++,y += height) { blue = ((255 - blueStart) * i/numRows) + blueStart; green = ((255 - greenStart) * i/numRows) + greenStart; red = ((255 - redStart) * i/numRows) + redStart; g.setColor(new Color(red,green,blue)); g.fillRect(x, y, width, height); } } }