package paint;! {2 N/ W+ k6 Z- f7 B, }& O
import javax.swing.JFrame;
! _) i J9 s& w% V+ z7 K( b public class Graph2DG extends JFrame{6 K; e& A3 Q; X1 W- S: G
public Graph2DG(){9 h& H# w& O9 `5 S# h: f% i# L
G2DPanel jp=new G2DPanel();0 g5 _- o1 M9 r U" [' F
getContentPane().add(jp);; L+ X3 L0 T: X% e" M ]1 F
setSize(200,200);
' Q- k6 o2 c. C& @% } setVisible(true);4 J8 s2 z4 |7 v# x, @
}0 i/ r: O: A+ e6 ^ B$ G' u1 v% J" a/ n
public static void main(String args) {
2 Q) {/ U/ f! y8 @4 ~% x9 } new Graph2DG();4 i* d7 a# @7 H0 g* \
}" }! c/ B! e) w& R
}, \: ~7 z3 S7 w `
package paint;
. V. v* M+ K" d9 h- _; ` import java.awt.Color;1 K# ~+ B; A+ H
import java.awt.Graphics;. [+ i# M3 `, M a$ C, n
import java.awt.Graphics2D;. u/ B: d' Z; P N
import java.awt.geom.Arc2D;
( L$ u* [) O3 L import java.awt.geom.Rectangle2D;
; F# }: c; w4 j# W9 Z import java.awt.geom.RoundRectangle2D;: ~# x, x2 y3 e; c9 U
import javax.swing.JPanel;
" K! `: H6 R9 @! ` public class G2DPanel extends JPanel{
! d" G& d9 I5 v4 C+ K- g+ R public void paintComponent(Graphics g){
6 \+ I+ G. Y1 I super.paintComponent(g);7 p/ ^! g5 @* m( R4 a9 s0 g
Graphics2D g2d=(Graphics2D)g;6 w9 L5 V2 W( O- I- u
g2d.setColor(Color.cyan);
6 `5 s: B |. E( d" k. q Rectangle2D rect=new Rectangle2D.Double(0,0,200,200);
& T& X/ L4 B! x1 `* p( g! o0 A0 U g2d.fill(rect);
0 `3 F7 s7 j! p( D; J Arc2D arc1=new Arc2D.Double(0,0,200,200,0,180,Arc2D.CHORD);
8 b/ m$ ^% Y/ o, q7 D. K; } Arc2D arc2=new Arc2D.Double(0,0,200,200,0,-180,Arc2D.CHORD);
. }/ B: x) l: T* _ RoundRectangle2D round1=new RoundRectangle2D.Double(0,50,100,100,100,100);) l3 k- H* _" S; o# C
RoundRectangle2D round2=new RoundRectangle2D.Double(100,50,100,100,100,100);
" l7 f! j: r/ Z! X# }. {! j RoundRectangle2D round3=new RoundRectangle2D.Double(37.5,87.8,25,25,25,25);
: i" @2 Y/ K9 y; s3 ` RoundRectangle2D round4=new RoundRectangle2D.Double(137.5,87.8,25,25,25,25);
. Y/ ^; V9 h! f2 Q8 w g2d.setColor(Color.white);
8 r; e! m6 W) f" ^ g2d.fill(arc1);
; F& V- K& O! M" p g2d.setColor(Color.black);/ ]8 V F0 D* I4 P. i
g2d.fill(arc2);5 T5 ^6 Q$ M' z9 c
g2d.fill(round1);3 _9 v- I2 e& t) R4 G: } K8 e
g2d.setColor(Color.white);3 c- k1 K, Y+ W. k. }: p: T$ `" X
g2d.fill(round2);, {1 j. m8 s3 B% k% F7 v
g2d.fill(round3);2 S- B' Y! C9 `. B& U I0 P' ]) }2 [
g2d.setColor(Color.black);# R2 B ~0 V3 |+ _
g2d.fill(round4);
8 { m% E/ o/ E6 P }6 n" S& Q$ _, l) b/ |2 U
} |