a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 69|回复: 0

[其他] JAVA技巧:看java如何实现太极八卦的绘制

[复制链接]
发表于 2012-8-4 12:28:23 | 显示全部楼层 |阅读模式
package paint;' P6 }( h) z2 F; S
  import javax.swing.JFrame;9 J9 d" [# P  K! }
  public class Graph2DG extends JFrame{
8 b+ @4 K' d2 E) Q  z: Z* s  public Graph2DG(){9 B6 V5 b6 I1 w2 ]( O
  G2DPanel jp=new G2DPanel();8 I' X4 k- L1 K1 X: b& z( J  h! u
  getContentPane().add(jp);" X/ G- F  l$ E+ U* g' |" E
  setSize(200,200);8 ~3 @5 {& d6 |) {+ S5 k
  setVisible(true);
( K4 f* s  \! j6 z  }6 b0 M' a  N8 y/ S7 x+ h, G
  public static void main(String args) {
0 t. L! T' y5 V5 T6 ~" M  new Graph2DG();
" V4 c$ T6 ]' U% [  ]( n7 y# k1 z  }
  B' }" J1 s6 n" b% o8 B4 x) g  }/ a4 ?# V. P; R. t/ U6 F; b, U
  package paint;2 @* U8 ?9 u1 A
  import java.awt.Color;) h5 ^. W1 [: E, o9 A  Y5 d* }
  import java.awt.Graphics;
  ^( i! |. j7 @/ ]2 r, ?# F  import java.awt.Graphics2D;, F$ u% c# N% F/ S3 J
  import java.awt.geom.Arc2D;
1 i# v+ Z! M: F% C  K0 w: M  import java.awt.geom.Rectangle2D;: O7 d8 V; z# _/ D
  import java.awt.geom.RoundRectangle2D;8 `2 |) A) P* f- n1 T+ U9 q, a
  import javax.swing.JPanel;: v  U2 ?; f- |
  public class G2DPanel extends JPanel{3 C0 s: E! S6 V9 p
  public void paintComponent(Graphics g){) \5 @6 H8 A9 v1 d2 B
  super.paintComponent(g);8 o* C+ o! y9 J- s
  Graphics2D g2d=(Graphics2D)g;
  e: B8 J) S( o4 x* V  g2d.setColor(Color.cyan);* }) G( b3 ]0 }
  Rectangle2D rect=new Rectangle2D.Double(0,0,200,200);
+ [6 k, l2 a1 F. \  g2d.fill(rect);
, p4 I: J* w, x6 o# G  Arc2D arc1=new Arc2D.Double(0,0,200,200,0,180,Arc2D.CHORD);# H/ Z( c, J) w4 q$ e( ]
  Arc2D arc2=new Arc2D.Double(0,0,200,200,0,-180,Arc2D.CHORD);: B. p2 p# N* H+ j8 a: m
  RoundRectangle2D round1=new RoundRectangle2D.Double(0,50,100,100,100,100);- l% p8 U1 m5 h; D# u
  RoundRectangle2D round2=new RoundRectangle2D.Double(100,50,100,100,100,100);
+ P0 L- z) G! d' Y* a6 z: d  RoundRectangle2D round3=new RoundRectangle2D.Double(37.5,87.8,25,25,25,25);! H" O, N# r" l% C  ]! C1 I: c
  RoundRectangle2D round4=new RoundRectangle2D.Double(137.5,87.8,25,25,25,25);( w  r3 W3 j; ?% a
  g2d.setColor(Color.white);
- b8 j* p) t( Y( k% {' r1 S  g2d.fill(arc1);
5 I) n6 ~7 m6 C+ r& N2 b; U( P  g2d.setColor(Color.black);
! z; B8 l- W1 ~1 E- Z  g2d.fill(arc2);
8 F; _3 q4 W  b0 K  g2d.fill(round1);2 J9 \2 o- ?- R. V/ \% r
  g2d.setColor(Color.white);
+ ^4 I" |9 t. K0 u/ G* Y* t8 e$ y  g2d.fill(round2);# N2 c5 t" ?' H5 v
  g2d.fill(round3);
0 _7 ?& ~0 p2 I; g4 v  g2d.setColor(Color.black);
6 f  _7 i4 \4 m; d8 ?0 y1 [4 Q  g2d.fill(round4);# U: P5 u% t% A
  }7 ?. Y8 F2 \8 t7 P
  }
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-22 10:47 , Processed in 0.277815 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表