Wednesday, November 24, 2010

Menambahkan Fungsi Aplikasi "Sage"

Mari kita lanjutkan menambahkan fungsi-fungsi dalam aplikasi Sage yang telah kita bangun kerangka-nya.

Langkah 1. Menambahkan Library Db4o 5.2

Right-Click Libraries dari Module Qoute.
Pilih Add New Library.



Click Browse, dan pilih: db4o-5.2-java5.jar.
Click Next.



Project Name diisi dengan: Object Database
Click Next.



Code Name Base diisi dengan: com.ongbudi.sage.odb.
Click Finish.




Langkah 2. Menambah Fungsi Add Quote

Click Quote Module.
Cilck Source Packages
Click com.ongbudi.sage.quote
Double-Click AddQuoteTopComponent.java



Tambahkan Label dan Text Field ke dalam tampilan:



Untuk menampung data dibuat class: Quote.java
Dalam Source Packages: com.ongbudi.sage.PDM

package com.ongbudi.sage.PDM;

public class Quote {

private String Quote;
private String Author;

public Quote(String q, String a) {
this.Quote = q;
this.Author = a;
}

public String getQuote() {
return this.Quote;
}

public String getAuthor() {
return this.Author;
}

public void setQuote(String q) {
this.Quote = q;
}

public void setAuthor(String a) {
this.Author = a;
}


Tambahkan beberapa import di Source Code AddQuoteTopComponent.java :
import com.db4o.Db4o;
import com.db4o.ObjectContainer;
import com.db4o.reflect.jdk.JdkReflector;
import com.ongbudi.sage.PDM.Quote;



Fungsi yang dijalankan oleh tombol New yaitu:

Quote.setText(null);
Author.setText(null);

Fungsi yang dijalankan oleh Tombol Save yaitu:

Db4o.configure().reflectWith(new JdkReflector(Thread.currentThread().getContextClassLoader()));
ObjectContainer db = Db4o.openFile("Sage.ODB");
try {
Quote quote = new Quote(Quote.getText(), Author.getText());
db.set(quote);

} finally {
db.close();
}
Quote.setText("");
Author.setText("");

Oke, sekarang database sudah bisa menyimpan quote yang dibuat.




Langkah 3. Menambah Fungsi Show Quote

Sekarang saatnya kita akan menampilkan Qoute yang sudah tersimpan.
Untuk itu kita buat terlebih dahulu tampilannya:

Double-Click: ShowQuoteTopComponent.java

Ubah tampilan menjadi seperti ini:




Dalam Source, tambahkan variable di bawah ini:
private int counter = 0;
public LinkedList listQuote = new LinkedList();
public ObjectContainer db;

Resolve semua import dengan mengikuti saran dari NetBeans IDE.

Untuk pertama kali kita buat fungsi untuk mengganti quote setiap dilakukan click di tampilan quote:

Right-Click dalam jScrollPane untuk QuoteText, pilih Event -> Mouse –> Mouse Clicked

Tambahkan kode ini:


// Ganti Quote Setiap Click
int i;
i = listQuote.size() - 1;
System.out.println(listQuote.size());

if (counter >= i) {
counter = 0;
} else {
counter++;
}
// tampilkan quote
Quote qt = (Quote) listQuote.get(counter);
System.out.println(listQuote.get(counter));
QuoteText.setText(qt.getQuote());
AuthorText.setText(qt.getAuthor());


Untuk mengisi Quote yang akan ditampilkan, dilakukan pengambilan data dari database melalui method componentOpened().

public void componentOpened() {
if (db == null) {
Db4o.configure().reflectWith(new JdkReflector(Thread.currentThread().getContextClassLoader()));
db = Db4o.openFile("Sage.ODB");
}

counter = 0;
try {
Quote quote = new Quote(null, null);
ObjectSet hasil = db.get(quote);
System.out.println("Isi Database: " + hasil.size());
while (hasil.hasNext()) {
Quote qt = (Quote) hasil.next();
listQuote.add(qt);
QuoteText.setText(qt.getQuote());
AuthorText.setText(qt.getAuthor());
counter++;
}
} catch (Exception e) {
} finally {
if (db != null) {
db.close();
}
}

//counter dikembalikan ke awal list
counter = 0;

Oke, sekarang sudah dapat dijalankan dengan melakukan click, maka quote akan berganti-ganti.

Tampilannya akan menjadi seperti ini:



Oke, sampai di sini dulu, nanti kita lanjutkan dengan tambahan fungsi yang lain.

Salam Java,
Ong Budi Setiawan

No comments:

Post a Comment