/* * ColorRing.java * * Copyright (C) 1999 by Hiroshi Yuki. * All rights reserved. * * http://www.hyuki.com/jb/ */ import java.awt.*; import java.applet.*; public class ColorRing extends Applet { int mousex = 0; int mousey = 0; final int R = 10; int dr = 1, dg = 2, db = 3; Color color = Color.white; private void nextColor() { int r = color.getRed(); int g = color.getGreen(); int b = color.getBlue(); if (r + dr >= 256 || r + dr < 0) dr = -dr; if (g + dg >= 256 || g + dg < 0) dg = -dg; if (b + db >= 256 || b + db < 0) db = -db; r = (r + dr) % 256; g = (g + dg) % 256; b = (b + db) % 256; color = new Color(r, g, b); } public boolean mouseDrag(Event e, int x, int y) { mousex = x; mousey = y; repaint(); return true; } public boolean mouseDown(Event e, int x, int y) { Dimension d = size(); Graphics g = getGraphics(); mousex = x; mousey = y; g.setColor(Color.white); g.fillRect(0, 0, d.width, d.height); repaint(); return true; } public void update(Graphics g) { paint(g); } public void paint(Graphics g) { g.setColor(color); g.drawOval(mousex - R, mousey - R, 2 * R, 2 * R); nextColor(); } }