1 36 37 40 41 package java2d.demos.Colors; 42 43 import static java.awt.Color .*; 44 import java.awt.*; 45 import java.awt.geom.Ellipse2D ; 46 import java2d.Surface; 47 48 49 52 public class BullsEye extends Surface { 53 54 55 public BullsEye() { 56 setBackground(WHITE); 57 } 58 59 60 public void render(int w, int h, Graphics2D g2) { 61 62 Color reds[] = { RED.darker(), RED }; 63 for (int N = 0; N < 18; N++) { 64 float i = (N + 2) / 2.0f; 65 float x = (float) (5+i*(w/2/10)); 66 float y = (float) (5+i*(h/2/10)); 67 float ew = (w-10)-(i*w/10); 68 float eh = (h-10)-(i*h/10); 69 float alpha = (N == 0) ? 0.1f : 1.0f / (19.0f - N); 70 if ( N >= 16 ) 71 g2.setColor(reds[N-16]); 72 else 73 g2.setColor(new Color (0f, 0f, 0f, alpha)); 74 g2.fill(new Ellipse2D.Float (x,y,ew,eh)); 75 } 76 } 77 78 79 public static void main(String s[]) { 80 createDemoFrame(new BullsEye()); 81 } 82 } 83 | Popular Tags |