1 5 package test; 6 7 import java.awt.Color ; 8 import java.awt.Dimension ; 9 import java.awt.Graphics ; 10 import java.awt.Graphics2D ; 11 import java.awt.geom.Line2D ; 12 import java.awt.geom.Rectangle2D ; 13 14 import javax.swing.JComponent ; 15 import javax.swing.JFrame ; 16 17 20 public class RenderingAccuracy extends JComponent { 21 22 public RenderingAccuracy() { 23 setPreferredSize(new Dimension (100,120)); 24 setBackground(Color.WHITE); 25 setForeground(new Color (100,100,255)); 26 } 27 28 public void paintComponent(Graphics g) { 29 Graphics2D g2D = (Graphics2D )g; 30 g2D.setColor(getBackground()); 31 g2D.fillRect(0, 0, getWidth(), getHeight()); 32 g2D.setColor(getForeground()); 33 rects(g2D); 34 lines(g2D); 35 } 36 37 public void rects(Graphics2D g2D) { 38 Rectangle2D r = new Rectangle2D.Double (); 39 double x = 10, y = 4; 40 int inc = 5; 41 42 for ( int i=0; i<=10; ++i ) { 44 r.setFrame(x+i*0.1, y+5*i, 2, 3); 45 g2D.draw(r); 46 } x += inc; 47 48 for ( int i=0; i<=10; ++i ) { 50 r.setFrame(x, y+5*i, 2+i*0.1, 3); 51 g2D.draw(r); 52 } x += inc; 53 54 for ( int i=0; i<=10; ++i ) { 56 r.setFrame(x+i*0.1, y+5*i, 2, 3); 57 g2D.fill(r); 58 } x += inc; 59 60 for ( int i=0; i<=10; ++i ) { 62 r.setFrame(x, y+5*i, 2+i*0.1, 3); 63 g2D.fill(r); 64 } x += inc; 65 66 x += inc; 67 68 for ( int i=0; i<=10; ++i ) { 70 r.setFrame(x+i*0.1, y+5*i, 2, 3); 71 draw(g2D, r); 72 } x += inc; 73 74 for ( int i=0; i<=10; ++i ) { 76 r.setFrame(x, y+5*i, 2+i*0.1, 3); 77 draw(g2D, r); 78 } x += inc; 79 80 for ( int i=0; i<=10; ++i ) { 82 r.setFrame(x+i*0.1, y+5*i, 2, 3); 83 fill(g2D, r); 84 } x += inc; 85 86 for ( int i=0; i<=10; ++i ) { 88 r.setFrame(x, y+5*i, 2+i*0.1, 3); 89 fill(g2D, r); 90 } x += inc; 91 92 x = 10.35; y += 60; 94 95 for ( int i=0; i<=10; ++i ) { 97 r.setFrame(x+i*0.1, y+5*i, 2, 3); 98 g2D.draw(r); 99 } x += inc; 100 101 for ( int i=0; i<=10; ++i ) { 103 r.setFrame(x, y+5*i, 2+i*0.1, 3); 104 g2D.draw(r); 105 } x += inc; 106 107 for ( int i=0; i<=10; ++i ) { 109 r.setFrame(x+i*0.1, y+5*i, 2, 3); 110 g2D.fill(r); 111 } x += inc; 112 113 for ( int i=0; i<=10; ++i ) { 115 r.setFrame(x, y+5*i, 2+i*0.1, 3); 116 g2D.fill(r); 117 } x += inc; 118 119 x += inc; 120 121 for ( int i=0; i<=10; ++i ) { 123 r.setFrame(x+i*0.1, y+5*i, 2, 3); 124 draw(g2D, r); 125 } x += inc; 126 127 for ( int i=0; i<=10; ++i ) { 129 r.setFrame(x, y+5*i, 2+i*0.1, 3); 130 draw(g2D, r); 131 } x += inc; 132 133 for ( int i=0; i<=10; ++i ) { 135 r.setFrame(x+i*0.1, y+5*i, 2, 3); 136 fill(g2D, r); 137 } x += inc; 138 139 for ( int i=0; i<=10; ++i ) { 141 r.setFrame(x, y+5*i, 2+i*0.1, 3); 142 fill(g2D, r); 143 } x += inc; 144 } 145 146 public void lines(Graphics2D g2D) { 147 Line2D r = new Line2D.Double (); 148 double x = 60, y = 4; 149 int inc = 5; 150 151 for ( int i=0; i<=10; ++i ) { 153 double x1 = x+i*0.1; 154 double y1 = y+5*i; 155 r.setLine(x1, y1, x1+2, y1); 156 g2D.draw(r); 157 } x += inc; 158 159 for ( int i=0; i<=10; ++i ) { 161 double x2 = x + 2+i*0.1; 162 double y1 = y+5*i; 163 r.setLine(x, y1, x2, y1); 164 g2D.draw(r); 165 } x += inc; 166 167 x += inc; 168 169 for ( int i=0; i<=10; ++i ) { 171 double x1 = x+i*0.1; 172 double y1 = y+5*i; 173 r.setLine(x1, y1, x1+2, y1); 174 draw(g2D, r); 175 } x += inc; 176 177 for ( int i=0; i<=10; ++i ) { 179 double x2 = x + 2+i*0.1; 180 double y1 = y+5*i; 181 r.setLine(x, y1, x2, y1); 182 draw(g2D, r); 183 } x += inc; 184 185 x = 60+0.35; y += 60; 187 188 for ( int i=0; i<=10; ++i ) { 190 double x1 = x+i*0.1; 191 double y1 = y+5*i; 192 r.setLine(x1, y1, x1+2, y1); 193 g2D.draw(r); 194 } x += inc; 195 196 for ( int i=0; i<=10; ++i ) { 198 double x2 = x + 2+i*0.1; 199 double y1 = y+5*i; 200 r.setLine(x, y1, x2, y1); 201 g2D.draw(r); 202 } x += inc; 203 204 x += inc; 205 206 for ( int i=0; i<=10; ++i ) { 208 double x1 = x+i*0.1; 209 double y1 = y+5*i; 210 r.setLine(x1, y1, x1+2, y1); 211 draw(g2D, r); 212 } x += inc; 213 214 for ( int i=0; i<=10; ++i ) { 216 double x2 = x + 2+i*0.1; 217 double y1 = y+5*i; 218 r.setLine(x, y1, x2, y1); 219 draw(g2D, r); 220 } x += inc; 221 } 222 223 public void draw(Graphics2D g, Line2D r) { 224 int x1 = (int)r.getX1(); 225 int y1 = (int)r.getY1(); 226 int x2 = (int)r.getX2(); 227 int y2 = (int)r.getY2(); 228 g.drawLine(x1, y1, x2, y2); 229 } 230 231 public void draw(Graphics2D g, Rectangle2D r) { 232 int x = (int)r.getMinX(); 233 int y = (int)r.getMinY(); 234 int w = (int)(r.getWidth() +r.getMinX()-x); 235 int h = (int)(r.getHeight()+r.getMinY()-y); 236 g.drawRect(x, y, w, h); 237 } 238 239 public void fill(Graphics2D g, Rectangle2D r) { 240 int x = (int)r.getMinX(); 241 int y = (int)r.getMinY(); 242 int w = (int)(r.getWidth() +r.getMinX()-x); 243 int h = (int)(r.getHeight()+r.getMinY()-y); 244 g.fillRect(x, y, w, h); 245 } 246 247 250 public static void main(String [] args) { 251 JFrame f = new JFrame ("rendering accuracy"); 252 f.setContentPane(new RenderingAccuracy()); 253 f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 254 f.pack(); 255 f.setVisible(true); 256 } 257 258 } 259 | Popular Tags |