Preview only show first 10 pages with watermark. For full document please download

Aplikasi Bouncing Ball Menggunakan Bahasa Pemrograman Java ...

Pembuatan Aplikasi Bouncing Ball Menggunakan Bahasa Pemrograman JAVA Oleh : NIM : 120030027 NAMA : Christian Iswahyudi KELAS : AI133 MATA KULIAH : Pemrograman Berorientasi Obyek II PROGRAM STUDI : Sistem Informasi SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN TEKNIK KOMPUTER (STMIK) ...

   EMBED

  • Rating

  • Date

    March 2017
  • Size

    70.7KB
  • Views

    6,624
  • Categories


Share

Transcript

Pembuatan Aplikasi Bouncing Ball Menggunakan Bahasa Pemrograman JAVA Oleh : NIM : 120030027 NAMA : Christian Iswahyudi KELAS : AI133 MATA KULIAH : Pemrograman Berorientasi Obyek II PROGRAM STUDI : Sistem Informasi SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN TEKNIK KOMPUTER (STMIK) STIKOM BALI 2015 Penjelasan Aplikasi bouncing ball adalah aplikasi java yang bersifat sederhana yang menggunakan GUI dimana pada aplikasi yang dibangun ini, terdapat beberapa bola dengan warna yang berbeda dapat memantul di dalam windows form. Jika windows form diperlebar, maka pantulan bola akan mengikuti luas dari windows form tersebut. Aplikasi sederhana ini dibuat menggunakan bahasa pemrograman JAVA. Tampilan Source Code import java.awt.Color; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.geom.Ellipse2D; import java.util.LinkedList; import java.util.List; import java.util.Random; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.Timer; public class J2dObjekBola extends JPanel implements ActionListener { static class Ball { Color color; float radius; float x, y; int dirx, diry; JPanel container; Ball(String ballcolors, float x, float y, float radius, JPanel cont) { this.x = x; this.y = y; this.radius = radius; this.container = cont; this.dirx = (int) (Math.random() * 3); this.diry = (int) (Math.random() * 3); if(ballcolors == "pink") { color = Color.pink; } if(ballcolors == "blue") { color = Color.blue; } if(ballcolors == "yellow") { color = Color.yellow; } if(ballcolors == "green") { color = Color.green; } if(ballcolors == "white") { color = Color.white; } } public void clear(Graphics g) { Graphics2D g2 = (Graphics2D) g; Ellipse2D e = new Ellipse2D.Double(this.x, this.y, this.radius, this.radius); g2.setColor(this.container.getBackground()); g2.fill(e); } public void paint(Graphics gr) { Graphics2D g2 = (Graphics2D) gr; Ellipse2D e = new Ellipse2D.Double(this.x, this.y, this.radius, this.radius); g2.setColor(color); g2.fill(e); } public void paintBlink(Graphics gr) { Graphics2D g2 = (Graphics2D) gr; Ellipse2D e = new Ellipse2D.Double(this.x, this.y, this.radius, this.radius); Random rand = new Random(); float r = rand.nextFloat(); float g = rand.nextFloat(); float b = rand.nextFloat(); Color ranColor = new Color(r, g, b); g2.setColor(ranColor); g2.fill(e); } public void tick() { if (this.x + dirx >= this.container.getWidth()) { dirx *= -1; } if (this.x + dirx <= 0) { dirx *= -1; } if (this.y + diry >= this.container.getHeight()) { diry *= -1; } if (this.y + diry <= 0) { diry *= -1; } if (this.x + dirx >= this.container.getWidth()) { dirx *= -1; } if (this.x + dirx <= 0) { dirx *= -1; } if (this.x + dirx >= this.container.getWidth()) { dirx *= -1; } this.x += dirx; this.y += diry; } } private List balls; private Timer animation; public J2dObjekBola() { balls = new LinkedList<>(); balls.add(new Ball ("yellow",5,10,20,this)); balls.add(new Ball ("green",10,20,30,this)); balls.add(new Ball ("pink",15,30,40,this)); balls.add(new Ball ("blue",20,40,50,this)); balls.add(new Ball ("white",17,30,20,this)); this.animation = new Timer(8, this); this.animation.start(); } @Override public void paint(Graphics g) { for (Ball b : this.balls) { b.clear(g); b.tick(); b.paint(g); } } @Override public void actionPerformed(ActionEvent arg0) { repaint(); } public static void main(String[] args) { JFrame f = new JFrame("120030027_CHRISTIAN ISWAHYUDI"); f.setSize(300,300); J2dObjekBola b = new J2dObjekBola(); f.add(b); f.setVisible(true); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }