Java merupakan bahasa pemograman yang selalu menarik untuk dipelajari. Selain dapat dijalankan diberbagai macam platform. Bahasa pemograman java juga dapat menciptakan sebuah animasi jam digital seperti yang akan kita pelajari berikut ini.
Disini saya memberikan sintak program untuk membuat animasi jam yang terlebih dahulu kita ketikan koding-koding berikut ini dan disimpan dengan nama "DigitalClock01.java " Kemudian compile program tersebut menggunakan jcreator ataupun netbeans hingga menampilkan class java "DigitalClock01.class".
import java.awt.*;
import java.applet.*;
import java.util.*;
public class DigitalClock01 extends Applet implements Runnable
{
Thread runner;
Image Buffer;
Image Digits[];
Graphics gBuffer;
int oldSec=0, ticker=0;
boolean dotFlash=true, flash=true;
public Image loadImage(String img)
{
Image image=getImage(getDocumentBase(),img);
MediaTracker tracker=new MediaTracker (this);
tracker.addImage(image,0);
try{tracker.waitForID(0);}
catch(InterruptedException e){}
return image;
}
public void init()
{
Digits=new Image[12];
//Menampung gambar untuk digit jam
//for(int i=0;i<10;i++)
//Digits[i]=loadImage("digit"+i+".gif");
Digits[0]=loadImage("0.gif");
Digits[1]=loadImage("1.gif");
Digits[2]=loadImage("2.gif");
Digits[3]=loadImage("3.gif");
Digits[4]=loadImage("4.gif");
Digits[5]=loadImage("5.gif");
Digits[6]=loadImage("6.gif");
Digits[7]=loadImage("7.gif");
Digits[8]=loadImage("8.gif");
Digits[9]=loadImage("9.gif");
Digits[10]=loadImage("dot_a.gif");
Digits[11]=loadImage("dot_b.gif");
//Membuat daerah untuk melakukan penggambaran
Buffer=createImage(size().width,size().height);
gBuffer=Buffer.getGraphics();
}
public void start()
Pemanggilan Melalui html:
Agar program berjalan save image berikut ini dalam 1 folder dengan file digital clock dan save nama image berikut sesuai dengan nomor nya misalnya untuk image 1 save dengan nama 1.gif begitu juga dengan image lain:
Disini saya memberikan sintak program untuk membuat animasi jam yang terlebih dahulu kita ketikan koding-koding berikut ini dan disimpan dengan nama "DigitalClock01.java " Kemudian compile program tersebut menggunakan jcreator ataupun netbeans hingga menampilkan class java "DigitalClock01.class".
import java.awt.*;
import java.applet.*;
import java.util.*;
public class DigitalClock01 extends Applet implements Runnable
{
Thread runner;
Image Buffer;
Image Digits[];
Graphics gBuffer;
int oldSec=0, ticker=0;
boolean dotFlash=true, flash=true;
public Image loadImage(String img)
{
Image image=getImage(getDocumentBase(),img);
MediaTracker tracker=new MediaTracker (this);
tracker.addImage(image,0);
try{tracker.waitForID(0);}
catch(InterruptedException e){}
return image;
}
public void init()
{
Digits=new Image[12];
//Menampung gambar untuk digit jam
//for(int i=0;i<10;i++)
//Digits[i]=loadImage("digit"+i+".gif");
Digits[0]=loadImage("0.gif");
Digits[1]=loadImage("1.gif");
Digits[2]=loadImage("2.gif");
Digits[3]=loadImage("3.gif");
Digits[4]=loadImage("4.gif");
Digits[5]=loadImage("5.gif");
Digits[6]=loadImage("6.gif");
Digits[7]=loadImage("7.gif");
Digits[8]=loadImage("8.gif");
Digits[9]=loadImage("9.gif");
Digits[10]=loadImage("dot_a.gif");
Digits[11]=loadImage("dot_b.gif");
//Membuat daerah untuk melakukan penggambaran
Buffer=createImage(size().width,size().height);
gBuffer=Buffer.getGraphics();
}
public void start()
{
if(runner==null)
{
runner=new Thread (this);
runner.start();
}
}
public void stop()
{
if(runner!=null)
{
runner.stop();
runner=null;
}
}
public void run()
{
while(true)
{
//Waktu tunda sebesar 50 miliseconds
try{
runner.sleep(50);
}
catch(Exception e){}
repaint();
}
}
public void update (Graphics g)
{
paint(g);
}
public void drawDigit(int digit,int x)
{
gBuffer.drawImage(Digits[digit],x,5,this);
}
public void paint(Graphics g)
{
//membuat objek date
Date today=new Date();
//mendapatkan detik, menit, jam, hari, tanggal, bulan, dan tahun
int sec=today.getSeconds();
int min=today.getMinutes();
int hour=today.getHours();
if(sec!=oldSec)
{
dotFlash=true;
oldSec=sec;
flash=true;
}
if(flash)
{
ticker++;
if(flash)
{
ticker=0;
flash=false;
}
}
else
dotFlash=false;
String secStr,minStr,hourStr;
//Membuat waktu jika jam, menit, detik, kurang dari 10 maka ditambahkan "0" didepan angka tesebut
if(hour<10)
hourStr="0"+hour;
else
hourStr=""+hour;
if(min<10)
minStr="0"+min;
else
minStr=""+min;
if(hour<10)
secStr="0"+sec;
else
secStr=""+sec;
//membuat latar belakang berwarna
gBuffer.setColor(new Color(0,0,0));
gBuffer.fillRect(0,0,size().width,size().height);
//Menggambar bingkai
gBuffer.setColor(new Color(105,0,0));
gBuffer.drawRect(0,0,size().width-1,size().height-1);
//Menggambar digit dari metode drawDigit
drawDigit(Integer.parseInt(hourStr.substring(0,1)),5);
drawDigit(Integer.parseInt(hourStr.substring(1,2)),30);
drawDigit(Integer.parseInt(minStr.substring(0,1)),75);
drawDigit(Integer.parseInt(minStr.substring(1,2)),105);
drawDigit(Integer.parseInt(secStr.substring(0,1)),160);
drawDigit(Integer.parseInt(secStr.substring(1,2)),190);
//Untuk tanda titik dua yang berkedip
if(dotFlash)
{
gBuffer.drawImage(Digits[11],60,10,this);
gBuffer.drawImage(Digits[11],60,30,this);
}
else
{
gBuffer.drawImage(Digits[10],135,10,this);
gBuffer.drawImage(Digits[10],135,30,this);
}
//Meduplikat buffer ke layar
g.drawImage(Buffer,0,0,this);
}
}
if(runner==null)
{
runner=new Thread (this);
runner.start();
}
}
public void stop()
{
if(runner!=null)
{
runner.stop();
runner=null;
}
}
public void run()
{
while(true)
{
//Waktu tunda sebesar 50 miliseconds
try{
runner.sleep(50);
}
catch(Exception e){}
repaint();
}
}
public void update (Graphics g)
{
paint(g);
}
public void drawDigit(int digit,int x)
{
gBuffer.drawImage(Digits[digit],x,5,this);
}
public void paint(Graphics g)
{
//membuat objek date
Date today=new Date();
//mendapatkan detik, menit, jam, hari, tanggal, bulan, dan tahun
int sec=today.getSeconds();
int min=today.getMinutes();
int hour=today.getHours();
if(sec!=oldSec)
{
dotFlash=true;
oldSec=sec;
flash=true;
}
if(flash)
{
ticker++;
if(flash)
{
ticker=0;
flash=false;
}
}
else
dotFlash=false;
String secStr,minStr,hourStr;
//Membuat waktu jika jam, menit, detik, kurang dari 10 maka ditambahkan "0" didepan angka tesebut
if(hour<10)
hourStr="0"+hour;
else
hourStr=""+hour;
if(min<10)
minStr="0"+min;
else
minStr=""+min;
if(hour<10)
secStr="0"+sec;
else
secStr=""+sec;
//membuat latar belakang berwarna
gBuffer.setColor(new Color(0,0,0));
gBuffer.fillRect(0,0,size().width,size().height);
//Menggambar bingkai
gBuffer.setColor(new Color(105,0,0));
gBuffer.drawRect(0,0,size().width-1,size().height-1);
//Menggambar digit dari metode drawDigit
drawDigit(Integer.parseInt(hourStr.substring(0,1)),5);
drawDigit(Integer.parseInt(hourStr.substring(1,2)),30);
drawDigit(Integer.parseInt(minStr.substring(0,1)),75);
drawDigit(Integer.parseInt(minStr.substring(1,2)),105);
drawDigit(Integer.parseInt(secStr.substring(0,1)),160);
drawDigit(Integer.parseInt(secStr.substring(1,2)),190);
//Untuk tanda titik dua yang berkedip
if(dotFlash)
{
gBuffer.drawImage(Digits[11],60,10,this);
gBuffer.drawImage(Digits[11],60,30,this);
}
else
{
gBuffer.drawImage(Digits[10],135,10,this);
gBuffer.drawImage(Digits[10],135,30,this);
}
//Meduplikat buffer ke layar
g.drawImage(Buffer,0,0,this);
}
}
Pemanggilan Melalui html:
<html>
<head>
<title>DigitalClock01</title>
</head>
<applet code="DigitalClock01" width=500 height=500>
</applet>
</html>
<head>
<title>DigitalClock01</title>
</head>
<applet code="DigitalClock01" width=500 height=500>
</applet>
</html>
Agar program berjalan save image berikut ini dalam 1 folder dengan file digital clock dan save nama image berikut sesuai dengan nomor nya misalnya untuk image 1 save dengan nama 1.gif begitu juga dengan image lain:
sedangkan untuk tanda titik 2 berwarna pink diatas save dengan nama dot_a dan dot b. Selamat mencoba semoga nilai laporannya oke....A++
0 komentar:
Posting Komentar