As’ad Djamalilleil http://kampusku.my.id asad.kom@gmail.com Komponen Class Item (2) As’ad Djamalilleil http://kampusku.my.id asad.kom@gmail.com.

Slides:



Advertisements
Presentasi serupa
EXCEPTION HANDLING.
Advertisements

Membuat class sendiri.
Kelas & Objek.
MIDlet User Interface (3) As’ad Djamalilleil
Package As’ad Djamalilleil
Komponen Class Item (2) As’ad Djamalilleil
Struktur Kode Program MIDlet As’ad Djamalilleil
WITH FANDI SUSANTO S.SI. Pemrograman Aplikasi Bergerak By Fandi Susanto S.Si.
Struktur Kode Aplikasi Java (2) As’ad Djamalilleil
Antarmuka Tingkat Bawah (Canvas)
Komponen Class Item (3) As’ad Djamalilleil
PEMOGRAMAN APLIKASI BERGERAK (Java ME)
MIDlet User Interface (2) As’ad Djamalilleil
Instalasi JME & Uji Coba As’ad Djamalilleil
Komponen Class Item (1) As’ad Djamalilleil
Struktur Kode Aplikasi Java (1)
As’ad Djamalilleil Function (method) As’ad Djamalilleil
Pemrograman Aplikasi Bergerak
PEMOGRAMAN APLIKASI BERGERAK (Java ME)
WITH FANDI SUSANTO S.SI. Pemrograman Aplikasi Bergerak By Fandi Susanto S.Si.
Graphical User Interface (GUI)
STRUKTUR DATA Pointer dan Function
Company LOGO PEMOGRAMAN APLIKASI BERGERAK (Java ME)
PROGRAM APLIKASI MOBILE EMHA TAUFIQ LUTHFI PERTEMUAN 5 (18 APRIL 2011)
Company LOGO PEMOGRAMAN APLIKASI BERGERAK (Java ME) Nyimas Artina.
PROGRAM APLIKASI MOBILE EMHA TAUFIQ LUTHFI PERTEMUAN 2.
PROGRAM APLIKASI MOBILE EMHA TAUFIQ LUTHFI PERTEMUAN 4 (12 APRIL 2011)
Try, Catch, Finally Throws
Pada Bab sebelumnya, kita telah mendiskusikan bagaimana cara pendeklarasian berbagai macam variabel dengan menggunakan tipe data primitif. Dalam pendeklarasian.
Pemrograman Aplikasi Bergerak
Kelas A dapat memiliki referensi ke obyek dari kelas- kelas lain sebagai anggota. Kadang-kadang disebut sebagai hubungan “has-a”. Sebagai contoh, sebuah.
PERTEMUAN 5 TextField merupakan turunan Item yang bisa menampung teks dan mengedit teks tersebut. TextField mempunyai ukuran maksimum, label dan format.
Socket Programming - 1 (TCP)
High Level User Interface
Inheritance dan Kata Kunci static
POLYMORPHISM (KEBANYAKRUPAAN)
Algoritma & pemrograman 1B
Constructor dan Overloading
Pertemuan 5 Tipe Data, Operator, Tata Bahasa
MIDP High-Level User Interface
MOBILE TECNOLOGY (J2ME)
MEMBUAT CLASS SENDIRI 2.
Creating Web Application using Java Applet
Tipe Data, Variabel, dan Operator
Form & Item Oleh : Oman Somantri S.Kom
Mengubah dan Memperbaiki Tampilan Form
Socket Programming - 1 (TCP)
MIDlet User Interface (2)
As’ad Djamalilleil Function (method) As’ad Djamalilleil
Struktur Kode Program MIDlet
As’ad Djamalilleil Class dan Object As’ad Djamalilleil
As’ad Djamalilleil Komponen Class Item (1) As’ad Djamalilleil
As’ad Djamalilleil Komponen Class Item (3) As’ad Djamalilleil
As’ad Djamalilleil Package As’ad Djamalilleil
Review Materi Java Fundamental
As’ad Djamalilleil Class List As’ad Djamalilleil
As’ad Djamalilleil Cookies As’ad Djamalilleil
Tipe Data, Variabel, dan Operator
Membuat Kelas.
MIDlet User Interface (3)
Agung Brastama Putra Pertemuan 11
Mobile Teknologi Pertemuan 3
Instalasi JME & Uji Coba
Mobile Teknologi Pertemuan 2
PACKAGE.
Pengenalan J2ME, Configuration & Profile
Tipe Data, Variabel, dan Operator
Dasar-dasar Pemrograman Berbasis Obyek. kelas Kelas pada java didefinisikan dengan menggunakan kata kunci class.
Komponen table Ms. Access
Pada Bab sebelumnya, kita telah mendiskusikan bagaimana cara pendeklarasian berbagai macam variabel dengan menggunakan tipe data primitif. Dalam pendeklarasian.
Transcript presentasi:

As’ad Djamalilleil http://kampusku.my.id asad.kom@gmail.com Komponen Class Item (2) As’ad Djamalilleil http://kampusku.my.id asad.kom@gmail.com

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) int mode, TimeZone timeZone)

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

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

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

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( );

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

Metode setDate() dapat dipanggil dengan argumen null 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 <time> untuk waktu dan <date> untuk tanggal

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

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:

// 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));

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

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); }

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){

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)

label image layout altText 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

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

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

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

ImageItem.LAYOUT_DEFAULT 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

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

public void append(Image image); 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);

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));

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); }

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);

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