Академический Документы
Профессиональный Документы
Культура Документы
lain berpotongan dengan menggunakan sedikit trik cantik hehehe...nanti nya lingkaran tersebut akan tampak seperti gambar dibawah ini, yang menggunakan method exclusiveOr(); dan intersect();
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15
/** * Created by Uch */ import java.awt.*; import javax.swing.*; import java.awt.geom.Area; import java.awt.geom.Ellipse2D; public class GabungLingkaran extends JFrame { Ellipse2D.Double oval1 = new Ellipse2D.Double(); Ellipse2D.Double oval2 = new Ellipse2D.Double(); Ellipse2D.Double oval3 = new Ellipse2D.Double(); Ellipse2D.Double oval4 = new Ellipse2D.Double(); Area area1;
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
Area area2; Area area3; Area area4; public GabungLingkaran() { super ("Menggambar Lingkaran"); setSize (500,500); setLocationRelativeTo(null); setVisible (true); } public void paint (Graphics g) { Graphics2D g1 = (Graphics2D)g; //lingkaran atas oval1.setFrame(175,50,150,150); area1 = new Area(oval1); //lingkaran bawah oval2.setFrame(175,200,150,150); area2 = new Area(oval2); //lingkaran kiri oval3.setFrame(100,125,150,150); area3 = new Area(oval3); //lingkaran kanan oval4.setFrame(250,125,150,150); area4 = new Area(oval4); //mengambil lingkaran yang tidak berpotongan antara lingkaran bawah dan lingkaran kanan area2.exclusiveOr(area4); g1.fill(area2); //mengambil lingkaran yang tidak berpotongan antara lingkaran atas dan lingkaran kiri area1.exclusiveOr(area3); g1.fill(area1); //gabungan lingkaran kanan dengan lingkaran atas di ambil perpotongannya dan di beri warna putih area4.intersect(area1); g1.setColor(Color.white);
58 59 60 61 62 63 64 65 66 67 68 69 70 71 } } }
g1.fill(area4); //gabungan lingkaan kiri dan lingkaran bawah, di ambil perpotongannya dan di beri warna putih area3.intersect(area2); g1.setColor(Color.white); g1.fill(area3);
public static void main (String args[]) { GabungLingkaran jalan = new GabungLingkaran(); jalan.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);