Selamat sore,,
Semoga kita tetap dalam keadaan baik-baik saja suapaya kita senantiasa bisa terus belajar ya teman-teman. Nah pada posting saya kali ini saya akan berinovasi lagi dengan project sebelumnya, saya akan menambahkan efek bintang bertaburan. Langsung saja ya teman-teman :
Sebelumnya kita akan membuat method utamanya suapaya program yang kita buat, bisa dijalankan dan mengeluarkan output yang kita harapkan :
package Belajar;
import java.awt.Color;
import javax.swing.JFrame;
/**
*
* @author Rian Saadillah
*/
public class geo_dasar3 {
public static void main( String args[])
{
// menciptakan jendela/frame dari geo_dasar_panel1
JFrame frame = new JFrame( "Menggambar obyek dari bentuk geometri" );
frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
geodasarpanel4 geopanel3 = new geodasarpanel4();
frame.add( geopanel3 );
frame.setBackground( Color.WHITE );
frame.setSize( 600, 400 );
frame.setVisible( true );
}
}
Kemudian kita akan menambahkan beberapa sourcode untuk membuat efek bintang, dibawah ini adalah sourcodenya :
package Belajar;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.geom.*;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Stroke;
import java.util.Random;
import javax.swing.JPanel;
/**
*
* @author Rian Saadillah
*/
public class geodasarpanel4 extends JPanel {
public void paintComponent( Graphics g )
{
super.paintComponent( g );
Graphics2D g2d = ( Graphics2D ) g;
Stroke pukul;
Color warna;
Ellipse2D roda1=new Ellipse2D.Double(80,110,20,20);
Ellipse2D roda2=new Ellipse2D.Double(175,110,20,20);
pukul =new BasicStroke(5,BasicStroke.CAP_ROUND,BasicStroke.JOIN_BEVEL);
g2d.setStroke(pukul);
g2d.draw(roda1);
g2d.draw(roda2);
pukul =new BasicStroke(1,BasicStroke.CAP_ROUND,BasicStroke.JOIN_BEVEL);
g2d.setStroke(pukul);
Arc2D busur=new Arc2D.Double(60,80,120,70,20,140,Arc2D.CHORD);
warna=new Color(0,255,0);
g2d.setColor(warna);
g2d.fill(busur);
g2d.draw(busur);
Line2D.Double jalan = new Line2D.Double(20, 133, 480, 133);
warna=new Color(255,255,255);
g2d.draw(jalan);
g2d.fill(jalan);
g2d.setColor(warna);
Random acak = new Random();
for (int i=0; i<1000; i++)
{
double x = acak.nextInt(600);
double y = acak.nextInt(133);
Line2D.Double bintan1 = new Line2D.Double (x-1, y-1, x+1, y+1);
Line2D.Double bintan2 = new Line2D.Double (x-1, y+1, x+1, y-1);
g2d.draw(bintan1);
g2d.draw(bintan2);
}
GeneralPath lintas=new GeneralPath(GeneralPath.WIND_EVEN_ODD);
warna =new Color(0,0,0);
lintas.moveTo(50,100);
lintas.lineTo(200,100);
lintas.lineTo(260,120);
lintas.lineTo(50,120);
lintas.lineTo(50,100);
g2d.setColor(warna);
g2d.fill(lintas);
g2d.draw(lintas);
}
}
Setelah itu kemudian jalankan programnya, dan hasilnya akan seperti dibawah ini :
== Semoga bermanfaat ==