Bintang part I
- Forums:
Semudah apakah membuat garis yang membentuk bintang itu ? Mari kita perhatikan source code-nya.
- class sinTest sebagai kanvas untuk meletakkan grafik bintang.
- class Bintang1 sebagai class yang menarik garis-garis sehingga membentuk sebuah bintang.
Inilah output-nya.
- class sinTest sebagai kanvas untuk meletakkan grafik bintang.
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);
Bintang1 t = new Bintang1();
t.setPreferredSize(new Dimension(300, 200));
frame.getContentPane().add(t);
frame.pack();
frame.setVisible(true);
}
});
}
}
- class Bintang1 sebagai class yang menarik garis-garis sehingga membentuk sebuah bintang.
import javax.swing.JPanel;
import java.awt.*;
import java.util.Random;
class Bintang1 extends JPanel
{ static double degToRad(int deg) {
return ((2*3.14)/360)*deg;
}
public void paintComponent(Graphics g)
{ int[] x=new int[20];
int[] y=new int[20];
super.paintComponent(g);
int r=100, x0=100, y0=100;
int sudut=(int)360/5;
for(int i=0;i<5;i++)
{ x[i]=(int)Math.round(x0 + r * Math.cos(degToRad(sudut * i)));
y[i]=(int)Math.round(y0 + r * Math.sin(degToRad(sudut * i)));
}
for(int i=0;i<5-1;i++)
for(int j=i+2;j<5;j++){
if(i==0 && j==4) continue;
g.drawLine(x[i], y[i], x[j], y[j]);
}
}
}
Inilah output-nya.
Penjelasan...??? Silahkan ajukan pertanyaan jika merasa aneh dengan source code di atas.
