Sketsa Bunga

Seperti halnya melukis, selalu diawali dengan membuat suatu sketsa untuk menghasilkan lukisan yg indah. Contoh kali ini sedikit mengulang bahasan mengenai konsep OOP (menggunakan beberapa objek) dan kalkulus (trigonometri). Perhatikan contoh berikut :
import javax.swing.JPanel;
import java.awt.*;

class Bunga extends JPanel
{   static double degToRad(int deg) {
        return ((2*3.14)/360)*deg;
    }
    public void paintComponent(Graphics g)
    {   int r=50; //radius (jari-jari atau panjang garis bunga)
        int[] x=new int[20];
        int[] y=new int[20];
        super.paintComponent(g);
        for(int i=0;i<7;i++)
        {   x[i]=(int) Math.round(100-r*Math.cos(degToRad((i*15)+45)));
            y[i]=(int) Math.round(100-r*Math.sin(degToRad((i*15)+45)));
            g.drawLine(100,100,x[i],y[i]);
        }            
        g.drawLine(100,100,100,150);
    }
}
Dalam melukis tentunya kita membutuhkan kanvas sebagai wadah dari lukisan yang kita buat.
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;

public class sinTest
{   public static void main(String[] args)
    {   SwingUtilities.invokeLater(new Runnable()
        {   public void run()
            {   JFrame frame = new JFrame("Sekarang pake Label");
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                Bunga b = new Bunga();
                b.setPreferredSize(new Dimension(300, 200));
                frame.getContentPane().add(b);
                frame.pack();
                frame.setVisible(true);
            }
        });
    }    
}
Klik di sini untuk lihat outputnya

Yuk kita bahas yuk...
Source Code Review (Klik di sini)
...bersambung...tapi kalau tidak sabar silahkan ajukan pertanyaan...