.:: Jasa Membuat Aplikasi Website,Desktop,Android Order Now..!! | | Order Now..!! Jasa Membuat Project Arduino,Robotic,Print 3D ::.

Konversi Mengubah Program Java Applet Menjadi Java Frame / JFrame

0 komentar


بِسْــــــــــــــــمِ اﷲِالرَّحْمَنِ اارَّحِيم
bismillaahirrahmaanirrahiim

السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ
Assalamu'alaikum warahmatullahi wabarakatuh

Di bawah ini adalah source code program animasi bola pantul (bouncing ball) menggunakan Java applet. Program bola pantul ini terdiri dari dua class yaitu class Ball dan Bounce. Kemudian di lain waktu kita ingin program bola pantul Java applet ingin kita ubah menjadi program desktop atau program yang tidak menggunakan applet dan web browser. Tapi program Java yang berdiri sendiri tidak memerlukan web browser. Singkat kata, program bola pantul Java applet ingin diubah menggunakan Frame (AWT) atau JFrame (Swing).

Perubahan hanya dilakukan pada class Bounce. Class Ball tidak berubah. Perubahan akan ditandai dengan comment (keterangan).

Class Ball :
import java.awt.*;

class Ball {

public float x, y, dx, dy;
private Color warna;
private int ukuran;

Ball(float x, float y, float dx, float dy, int ukuran, Color warna) {
this.x = x;
this.y = y;
this.dx = dx;
this.dy = dy;
this.warna = warna;
this.ukuran = ukuran;
}

public void pindah(Rectangle kotak) {
// mengubah koordinat bola
x += dx;
y += dy;
//collision detection dg sisi kiri
if (x < kotak.x && dx < 0) { dx = -dx; x -= 2 * (x - kotak.x); } //collision detection dg sisi kanan else if ((x + ukuran) > (kotak.x + kotak.width) && dx > 0) {
dx = -dx;
x -= 2 * ((x + ukuran) - (kotak.x + kotak.width));
}
//collision detection dg sisi atas
if (y < kotak.y && dy < 0) { dy = -dy; y -= 2 * (y - kotak.y); } //collision detection dg sisi bawah else if ((y + ukuran) > (kotak.y + kotak.height) && dy > 0) {
dy = -dy;
y -= 2 * ((y + ukuran) - (kotak.y + kotak.height));
}
}

public void lukis(Graphics g) {
g.setColor(warna);
g.fillOval((int) x, (int) y, ukuran, ukuran);
}
}
Class Bounce :
import java.awt.*;
import java.applet.Applet;

public class Bounce extends Applet implements Runnable {

private Image gambarLayar;
private Graphics layar;
private Thread mesin;
private boolean jalan = false;
private Rectangle kotak;
private Ball bola;
private int lebar, tinggi;

@Override
//otomatis jalan saat applet dimuat ke browser
public void init() {
lebar = size().width; //lebar sesuai lebar applet
tinggi = size().height; //tinggi sesuai tinggi applet
kotak = new Rectangle(lebar, tinggi); //membuat kotak sesuai ukuran applet
bola = new Ball(lebar / 3f, tinggi / 4f, 1.5f, 2.3f, 12, Color.blue); //membuat bola
}

@Override
//otomatis jalan setelah init() selesai
public synchronized void start() {
if (mesin == null || !mesin.isAlive()) {
jalan = true;
mesin = new Thread(this);
mesin.setPriority(Thread.MIN_PRIORITY + 1);
mesin.start();
}
}

//otomatis jalan saat thread dibuat
public void run() {
while (jalan) {
repaint(); //memanggil method update()
try {
mesin.sleep(1000 / 30); //pengatur jeda waktu (mempengaruhi kecepatan bola)
} catch (InterruptedException e) {
//kalau ada error
}
}
}

@Override
// otomatis dijalankan saat tampilan berubah
public void update(Graphics g) {
paint(g);
}

@Override
public void paint(Graphics g) {
if (layar == null) {
gambarLayar = createImage(lebar, tinggi);
layar = gambarLayar.getGraphics();
}
// menggambar background
int x2 = lebar >> 1;
int y2 = tinggi >> 1;
layar.setColor(Color.gray);
layar.fillRect(0, 0, x2, y2);
layar.fillRect(x2, y2, lebar - x2, tinggi - y2);
layar.setColor(Color.white);
layar.fillRect(x2, 0, lebar - x2, tinggi - y2);
layar.fillRect(0, y2, x2, y2);
bola.pindah(kotak);
bola.lukis(layar);
g.drawImage(gambarLayar, 0, 0, null);
}

@Override
public synchronized void stop() {
jalan = false;
}
}
Class Bounce yang diubah menjadi Frame (AWT) (Untuk diubah menjadi JFrame ada beberapa tambahan perintah) :
import java.awt.*;
//import java.applet.Applet;

//public class Bounce extends Applet implements Runnable {
public class Bounce extends Panel implements Runnable {

private Image gambarLayar;
private Graphics layar;
private Thread mesin;
private boolean jalan = false;
private Rectangle kotak;
private Ball bola;
private int lebar, tinggi;
private static int lbr = 500, tng = 500; //tambahan

//@Override
//otomatis jalan saat applet dimuat ke browser
public void init() {
//lebar = size().width; //lebar sesuai lebar applet
lebar = lbr;
//tinggi = size().height; //tinggi sesuai tinggi applet
tinggi = tng;
kotak = new Rectangle(lebar, tinggi); //membuat kotak sesuai ukuran applet
bola = new Ball(lebar / 3f, tinggi / 4f, 1.5f, 2.3f, 12, Color.blue); //membuat bola
//}

//@Override
//otomatis jalan setelah init() selesai
//public synchronized void start() {
if (mesin == null || !mesin.isAlive()) {
jalan = true;
mesin = new Thread(this);
mesin.setPriority(Thread.MIN_PRIORITY + 1);
mesin.start();
}
}

//otomatis jalan saat thread dibuat
public void run() {
while (jalan) {
repaint(); //memanggil method update()
try {
mesin.sleep(1000 / 100); //pengatur jeda waktu (mempengaruhi kecepatan bola)
} catch (InterruptedException e) {
//kalau ada error
}
}
}

@Override
// otomatis dijalankan saat tampilan berubah
public void update(Graphics g) {
paint(g);
}

@Override
public void paint(Graphics g) {
if (layar == null) {
gambarLayar = createImage(lebar, tinggi);
layar = gambarLayar.getGraphics();
}
// menggambar background
int x2 = lebar >> 1;
int y2 = tinggi >> 1;
layar.setColor(Color.gray);
layar.fillRect(0, 0, x2, y2);
layar.fillRect(x2, y2, lebar - x2, tinggi - y2);
layar.setColor(Color.cyan);
layar.fillRect(x2, 0, lebar - x2, tinggi - y2);
layar.fillRect(0, y2, x2, y2);
bola.pindah(kotak);
bola.lukis(layar);
g.drawImage(gambarLayar, 0, 0, null);
}

//@Override
public synchronized void stop() {
jalan = false;
}

public static void main(String[] args) {
Frame f = new Frame();
f.addWindowListener(new java.awt.event.WindowAdapter() {

@Override
public void windowClosing(java.awt.event.WindowEvent e) {
System.exit(0);
}

;
});

Bounce ut = new Bounce();
ut.setSize(lbr, tng); //diubah
f.add(ut);
f.pack();
ut.init();
f.setSize(lbr + 8, tng + 34); //diubah
//f.show();
f.setVisible(true);
}
}

Dari contoh konversi perubahan Java applet menjadi Java non applet (Frame), perubahan yang dilakukan tidak terlalu banyak dan relatif mudah. Namun proses konversi akan menjadi sulit jika program Java applet bergantung pada HTML
Update Contact :
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email : Fajarudinsidik@gmail.com
NB :: Bila Sobat tertarik Ingin membuat software, membeli software, membeli source code, membeli hardware elektronika untuk kepentingan Perusahaan maupun Tugas Akhir (TA/SKRIPSI), Insyaallah Saya siap membantu, untuk Respon Cepat dapat menghubungi kami, melalui :

No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email: Fajarudinsidik@gmail.com


atau Kirimkan Private messanger melalui email dengan klik tombol order dibawah ini :

ٱلْحَمْدُ لِلَّهِ رَبِّ ٱلْعَٰلَمِين
Alhamdulilah hirobil alamin

وَ السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ
wassalamualaikum warahmatullahi wabarakatuh


Artikel Konversi Mengubah Program Java Applet Menjadi Java Frame / JFrame, Diterbitkan oleh scodeaplikasi pada Kamis, 10 November 2011. Semoga artikel ini dapat menambah wawasan Anda. Website ini dipost dari beberapa sumber, bisa cek disini sumber, Sobat diperbolehkan mengcopy paste / menyebar luaskan artikel ini, karena segala yang dipost di public adalah milik public. Bila Sobat tertarik Ingin membuat software, membeli software, membeli source code ,Dengan Cara menghubungi saya Ke Email: Fajarudinsidik@gmail.com, atau No Hp/WA : (fajar) : 085369237896, (puat) : 085267792168.

Tawk.to