Masih memanfaatkan
Abstracting Windowing, kali ini kita akan membuat shape bintang, dengan
menggunakan grafik fill polygon yang ada pada Class Graphic.
Membuat
shape bintang, kita membutuhkan 10 titik yang saling dihubungkan dengan garis.
Lalu untuk mengisi warna di dalamnya, kita harus menggunakan fill, sehingga
grafik yang digunakan adalah fillPolygon.
Dalam
pembuatannya, dapat memilih apakah akan membuat bintang dari gabungan beberapa
segitiga yang disatukan, atau hanya menggunakan satu polygon saja. Gabungan
dari beberapa segitiga pun, memiliki beberapa cara, sehingga bisa didapatkan
bentuk bintang utuh. Namun
untuk kali ini, hanya akan dibahas membuat shape bintang hanya dengan satu
polygon.
Berikut
source code yang harus ditulis,
package
bintang;
import
java.awt.*;
/**
*
* @author nadin
*/
public
class Bintang extends Panel{
Bintang()
{
setBackground(new Color(0, 0, 0));
}
@Override
public void paint(Graphics g){
g.setColor (new Color(192, 192, 192));
g.fillOval(-100, 250, 200, 200); //x,
y,
g.fillOval(80, 270, 120, 120);
g.fillOval(160, 265, 190, 190);
g.fillOval(310, 275, 100, 100);
g.fillOval(380, 250, 140, 140);
g.fillOval(500, 230, 200, 200);
g.fillRect(0, 360, 700,300);
g.setColor (new Color(255,128,0));
int [] x = {125, 160, 100, 200, 250,
300, 400, 340, 375, 250};
int [] y = {350, 235, 150, 150, 50,
150, 150, 235, 350, 300};
g.fillPolygon(x, y, 10);
g.setColor (Color.BLACK);
g.drawArc(193, 180, 22, 22, 180, 180);
g.drawArc(193, 179, 22, 22, 180, 180);
g.drawArc(287, 180, 22, 22, 180, 180);
g.drawArc(287, 179, 22, 22, 180, 180);
g.setColor(Color.red);
g.drawArc(240, 242, 24, 24, 180, 180);
g.drawArc(240, 243, 24, 24, 180, 180);
g.drawArc(240, 244, 24, 24, 180,
180);
}
public static void main(String[] args) {
Frame f1 = new Frame("Star");
Bintang a = new Bintang();
f1.add(a);
f1.setSize(520, 520);
f1.setVisible(true);
}
}
Hasilnya :