Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Komponen Class Item (2) As’ad Djamalilleil

Presentasi serupa


Presentasi berjudul: "Komponen Class Item (2) As’ad Djamalilleil"— Transcript presentasi:

1 Komponen Class Item (2) As’ad Djamalilleil

2 Class DateField DateField adalah sebuah komponen yang dapat menampilkan dan mengedit nilai dari sebuah objek yang bertipe Date Class DateField memiliki dua constructor: public DateField(String label, int mode) public DateField(String label, int mode, TimeZone timeZone)

3 Tanggal dan waktu yang disimpan dalam sebuah objek Date selalu bersifat relatif berpatokan pada 1 Januari 1970 UTC tengah malam Ketika menampilkan waktu, koreksi diperlukan untuk zona waktu di mana user bekerja Argumen timeZone dapat digunakan untuk menyediakan objek TimeZone yang dapat digunakan untuk menentukan bagaimana menampilkan tanggal dan waktu untuk lokasi tertentu

4 Jika argumen ini tidak disertakan (atau bernilai null), maka digunakan TimeZone default pada perangkat mobile, yang seharusnya menampilkan waktu lokal dengan benar Oleh karena itu, penting untuk menyediakan nilai TimeZone hanya bila ingin menampilkan tanggal dan waktu untuk zona waktu yang berbeda Spesifikasi CLDC hanya mendukung zona waktu untuk GMT. Pada prakteknya, sebuah perangkat mendukung zona waktu di mana perangkat tersebut beroperasi, tapi tidak ada jaminan untuk tersedianya zona waktu yang lain

5 Argumen mode menentukan apa yang akan ditampilkan oleh DateField dan menerima satu dari nilai berikut: DateField.TIME –Hanya menampilkan waktu saja, memiliki nilai konstanta 2 DateField.DATE –Hanya menampilkan tanggal saja, memiliki nilai konstanta 1 DateField.DATE_TIME –Menampilkan tanggal dan waktu, memiliki nilai konstanta 3

6 Seperti objek Item yang lain, ketika user mengubah tanggal atau waktu yang ditampilkan oleh DateField, perubahan akan dilaporkan ke ItemStateListener beserta Form di mana objek DateField tersebut ditampilkan Nilai dari objek Date yang dihubungkan dengan DateField dapat diperoleh atau diubah menggunakan metode berikut: public void setDate(Date date); public Date getDate( );

7 Ketika metode setDate() dipanggil, DateField tidak menyimpan referensi dari objek Date yang diberikan padanya, tetapi copy dari nilainya sehingga perubahan yang terjadi di dalam komponen DateField tidak dikembalikan ke objek Date yang diberikan sebagai argumen Nilai yang dikembalikan oleh metode getDate() adalah objek yang baru dibuat di mana merupakan tanggal atau waktu pada saat metode tersebut dipanggil

8 Metode setDate() dapat dipanggil dengan argumen null. Pada kasus ini, DateField dianggap belum diinisialisasi dan tidak menampilkan nilai yang valid. Metode getDate() mengembalkan nilai null ketika DateField belum diinisialisasi dan implementasinya akan menampilkan string untuk waktu dan untuk tanggal

9 Setiap mode pada DateField memberikan tingkah laku yang berbeda seperti: Mode DATE_TIME –DateField tidak menerima nilai detik dan milidetik, pemberian nilai waktu dengan menyertakan nilai detik tidak akan berpengaruh Mode DATE –DateField hanya bekerja dengan tahun, bulan, dan tanggal saja, sehingga pemanggilan metode getDate() pada mode ini akan memberikan nilai nol untuk waktu

10 Mode TIME –Bagian tanggal dari objek Date yang diberikan sebagai argumen harus diinisialisasi dengan tanggal 1 Januari 1970 dan Date yang dikemballikan lewat getDate() memiliki tanggal yang sama Kode berikut dapat digunakan untuk membuat objek Date yang memiliki waktu, tahun, bulan, dan tanggal sekarang:

11 // Membaca dari kalender untuk inisialisasi Calendar baseCal = Calendar.getInstance( ); Date baseDate = new Date(0); baseCal.setTime(baseDate); // Reset tanggal sesuai inisialisasi Calendar cal = Calendar.getInstance(); Date now = new Date( ); cal.setTime(now); // Set tahun, bulan, dan tanggal cal.set(Calendar.YEAR, baseCal.get(Calendar.YEAR)); cal.set(Calendar.MONTH, baseCal.get(Calendar.MONTH); cal.set(Calendar.DATE, baseCal.get(Calendar.DATE));

12 Mode dari DateField dapat diubah lewat metode setInputMode() : public void setInputMode(int mode); mode –mode dari DateField, dimana mengubah mode akan mengubah tampilan visual dari komponen mungkin juga mempengaruhi nilai Date di dalamnya dengan ketentuan sbb: Mengganti ke mode DATE : –bagian waktu di-reset menjadi 00:00 A.M Mengganti ke mode TIME : –bagian tanggal di-reset menjadi January 1, 1970

13 Aplikasi Demo DateField 1 import javax.microedition.midlet.*; import javax.microedition.lcdui.*; import javax.microedition.lcdui.DateField; import java.util.Date; import java.util.TimeZone; public class ContohTgl extends MIDlet{ private Display disp; private Form frm; private DateField df; public ContohTgl(){ disp = Display.getDisplay(this); }

14 public void startApp(){ frm = new Form("Demo DateField"); df = new DateField("Tanggal lahir :", DateField.DATE, TimeZone.getTimeZone("GMT-8:00")); df.setDate(new Date()); frm.append(df); disp.setCurrent(frm); } public void pauseApp(){ } public void destroyApp(boolean unconditional){ }

15 Class ImageItem Sebuah gambar dapat ditempatkan di dalam Form dengan kendali yang terbatas penempatannya relatif terhadap item yang lain Class ImageItem memiliki sebuah constructor: public ImageItem(String label, Image image, int layout, String altText)

16 label –label atau keterangan dari gambar pada ImageItem image –objek Image yang nantinya ditampilkan oleh ImageItem layout –pengaturan tata letak dari label dan gambar di dalam ImageItem altText –teks alternatif yang tampil apabila gambar gagal ditampilkan

17 Argumen layout membatasi penampilan label dan gambar pada ImageItem yang ditempatkan pada Form Implementasi pada perangkat mobile bisa saja berbeda karena menggunakan aturan layout-nya sendiri sehingga mengabaikan argumen layout yang diberikan Apabila perangkat tidak mampu menampilkan gambar tersebut, maka argumen altText yang akan ditampilkan

18 Gambar diberikan ke dalam form dari sebuah objek Image. Terdapat beberapa cara untuk membuat Image, misalnya lewat koneksi jaringan, membuat gambar primitif dari beragam bentuk 2D, atau memuat gambar dari data terkode dalam sebuah file Memuat gambar dari sebuah file menggunakan metode static dari class Image berikut: public static Image createImage(String name) throws IOException

19 name –sebuah nama yang mewakili lokasi dari sebuah resource berupa file Parameter name digunakan sebagai argumen ke metode getResourceAsStream() Parameter name harus selalu berupa nama path dari file yang bersifat absolut File tersebut harus berisi sebuah gambar yang berformat PNG (Portable Network Graphics) karena merupakan satu-satunya format yang didukung oleh perangkat MIDP

20 Parameter layout berupa sebuah bitmask yang dibuat dari kombinasi nilai berikut: ImageItem.LAYOUT_DEFAULT –gambar ditempatkan sesuai kebijakan layout default pada perangkat ImageItem.LAYOUT_LEFT –gambar ditempatkan rata-kiri pada ruang yang tersedia ImageItem.LAYOUT_RIGHT –gambar ditempatkan rata-kanan pada ruang yang tersedia

21 ImageItem.LAYOUT_CENTER –gambar ditempatkan rata-tengah pada ruang yang tersedia ImageItem.LAYOUT_NEWLINE_BEFORE –sebuah spasi-baris ditampilkan sebelum image digambar ImageItem.LAYOUT_NEWLINE_AFTER –sebuah spasi-baris ditampilkan sesudah image digambar

22 Ketika LAYOUT_DEFAULT digunakan, gambar ditempatkan sesuai aturan implementasi pada perangkat, yaitu ditempatkan pada baris horizontal yang sama dengan Item sebelumnya bila: –ImageItem memiliki label yang tidak kosong –Sisa ruang yang tersedia pada baris tersebut cukup dengan lebar gambar Gambar juga dapat dengan cepat ditambahkan ke Form dengan metode berikut: public void append(Image image);

23 Cara di atas sama dengan membuat dan menambahkan sebuah ImageItem dengan layout LAYOUT_DEFAULT dan tanpa label seperti berikut: form.append(new ImageItem(null, image, ImageItem.LAYOUT_DEFAULT, null));

24 Aplikasi Demo ImageItem 1 import javax.microedition.midlet.*; import javax.microedition.lcdui.*; import javax.microedition.lcdui.ImageItem; import javax.microedition.lcdui.Image; import java.io.IOException; public class DemoImgItm extends MIDlet{ private Display disp; private Form frm; private ImageItem ii; public DemoImgItm(){ disp = Display.getDisplay(this); }

25 public void startApp(){ frm = new Form("Demo ImageItem"); Image img = null; try{ img = Image.createImage("/comp.png"); }catch(IOException ioe){ System.out.println("File tdk ada!"); } ii = new ImageItem("Pemrograman Komputer", img, ImageItem.LAYOUT_DEFAULT, "gambar komputer"); frm.append(ii); disp.setCurrent(frm); }

26 public void pauseApp(){ } public void destroyApp(boolean unconditional){ } Catatan: Sebelum menjalankan aplikasi tersebut, simpan sebuah file gambar berformat PNG bernama comp.png yang berukuran kecil ke dalam folder res


Download ppt "Komponen Class Item (2) As’ad Djamalilleil"

Presentasi serupa


Iklan oleh Google