Saturday, November 27, 2010

Menambahkan Timer Dalam Sage

Mari kita lanjutkan menambahkan fungsi Timer dalam aplikasi Sage yang telah kita bangun.

Sekarang saatnya yang paling menyenangkan karena kita akan menambahkan fungsi perubahan secara otomatis setiap beberapa detik.

Langkah 1. Menggunakan Options Untuk Menyimpan Setting Timer

Setting untuk perubahan quote disimpan ke dalam NetBeans Platform dalam Options Panel yang sudah built-in di platform ini.

Caranya:
Right-click dalam package: com.ongbudi.sage.quote
Pilih New -> Options Panel



Setelah diclick maka diisi dengan:
Title: Sage Options
Tool Tip: Configuration Setting for Sage Application
Key Words: Sage Options
Click Next.



Setelah itu click Finish



Untuk melihat tampilan Sage Options, ada di dalam menu Tools -> Options dalam aplikasi Sage.



Setelah kita dapat menemukan option tersebut, mari kita rancang apa yang perlu diubah.

Kita buka SageOptionsPanel.java
Click Design, tambahkan Label dan TextField seperti contoh di bawah ini.
Nama variable TextField diubah menjadi jInterval



Nah, untuk menyimpan perubahan dilakukan melalui pengubahan method load() dan store()

Method load() menjadi:

void load() {

jInterval.setText(NbPreferences.forModule(SageOptionsPanel.class).get("jInterval","15"));

}


Method store() menjadi:
void store() {

NbPreferences.forModule(SageOptionsPanel.class).put("jInterval", jInterval.getText());
}

Tambahkan import:
import org.openide.util.NbPreferences;

Sekarang sudah dapat menyimpan berapa detik interval untuk setiap perubahan quote.

Langkah 2. Mengambil Nilai Interval Dalam Options Panel

Untuk mengambil nilai Interval yang tersimpan dalam options panel dilakukan sebagai berikut:

Tambahkan baris ini ke dalam method componentOpened() dalam ShowQuoteTopComponent.java

//Setting Timer
Preferences pref;
pref = NbPreferences.forModule(SageOptionsPanel.class);
int Interval = 0;
Interval = toInt(pref.get("jInterval", ""));
Interval = Interval * 1000;

Tambahkan juga fungsi toInt() seperti di bawah ini:

private int toInt(String number) {
Integer temp;
temp = new Integer(number);
return temp.intValue();
}

Tambahkan import:
import java.util.prefs.Preferences;
import org.openide.util.NbPreferences;


Langkah 3. Menambah Fungsi Timer dalam Show Quote

Bagaimana caranya menambahkan fungsi timer untuk menampilkan Quote? Mari kita sama-sama membuatnya.

Karena kita sudah memiliki nilai dari Interval dari langkah ke 2, maka kita langsung dapat menggunakannya dalam menentukan Interval.

Selanjutnya dibuat inner class untuk mengerjakan tugas rutin setiap Interval waktu.

class Ticker extends TimerTask {
public void run() {
java.awt.event.MouseEvent evt = null;
QuoteTextMouseClicked(evt);
}
}
Kalau diperhatikan fungsi di atas, kita hanya memanggil mouse click event yang pernah dibuat sebelumnya.

Kemudian ditambahkan fungsi untuk menjalankan Ticker ini setiap Interval waktu, caranya dengan menambahkan baris ini dibaris terakhir dari method componentOpened()

if (daemon == null) {
daemon = new Timer(true);
}
TimerTask runnable = new Ticker();
daemon.scheduleAtFixedRate(runnable, 0, Interval);
}
Selesai sudah aplikasi kita. Quote akan berganti-ganti setiap Interval waktu yang ditetapkan.



Oke, sampai di sini dulu.
Sampai jumpa dalam aplikasi berikutnya yang akan sama-sama kita buat.

Salam Java,
Ong Budi Setiawan

No comments:

Post a Comment