Komponen Class Item (2) As’ad Djamalilleil

Slides:



Advertisements
Presentasi serupa
EXCEPTION HANDLING.
Advertisements

Mendapatkan Input dari Keyboard
IT603 Ramos Somya.  Mahasiswa mampu memahami konsep dan penerapan komputasi mobile dan aplikasinya.
MIDP, MIDLet & Antar Muka J2ME
Membuat class sendiri.
Servlets dan JSP Oleh Risanuri Hidayat.
Pemrograman Berorientasi Objek
Kelas & Objek.
MIDlet User Interface (3) As’ad Djamalilleil
Package As’ad Djamalilleil
Struktur Kode Program MIDlet As’ad Djamalilleil
Inheritance (Pewarisan) As’ad Djamalilleil
Struktur Kode Aplikasi Java (2) As’ad Djamalilleil
Antarmuka Tingkat Bawah (Canvas)
Abstract & Interface As’ad Djamalilleil
Flow Control & Exception Handling
Functions/Fungsi As’ad Djamalilleil
Web Teknologi 3 (MKB721C) Minggu 2 Page 1 MINGGU 2 Web Teknologi 3 (MKB721C) Pokok Bahasan: –Midlet –User Interface Tujuan Instruksional Khusus: Agar.
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
Method.
Komponen Class Item (1) As’ad Djamalilleil
MATA KULIAH : PEMROGRAMAN 3 JAVA PROGRAMMING (JSE)
Mendapatkan input dari keyboard
Mendapatkan Input dari Keyboard
Variabel, Method & Constructor Oleh : Nur Hayatin, S.ST Teknik Informatika – UMM 2011.
Struktur Kode Aplikasi Java (1)
Cookies As’ad Djamalilleil
As’ad Djamalilleil Function (method) As’ad Djamalilleil
Pemrograman Aplikasi Bergerak
PEMOGRAMAN APLIKASI BERGERAK (Java ME)
METHOD Object Oriented Programming with JAVA 2011/2012.
WITH FANDI SUSANTO S.SI. Pemrograman Aplikasi Bergerak By Fandi Susanto S.Si.
Graphical User Interface (GUI)
Komponen-Komponen dalam J2ME
Company LOGO PEMOGRAMAN APLIKASI BERGERAK (Java ME) “Skill to do comes of doing. “ (Ralph Waldo Emerson)
J2ME, Configuration & Profile
Company LOGO PEMOGRAMAN APLIKASI BERGERAK (Java ME)
MIDP (MIDlet) dan Tools
PROGRAM APLIKASI MOBILE EMHA TAUFIQ LUTHFI PERTEMUAN 5 (18 APRIL 2011)
Company LOGO PEMOGRAMAN APLIKASI BERGERAK (Java ME) Nyimas Artina.
Company LOGO PEMOGRAMAN APLIKASI BERGERAK (Java ME) Nyimas Artina.
- PERTEMUAN 8- NETWORK PBO. Pengantar Java mengijinkan anda untuk mempermudah mengembangkan aplikasi yang mengerjakan berbagai pekerjaan melalui jaringan.
PROGRAM APLIKASI MOBILE EMHA TAUFIQ LUTHFI PERTEMUAN 2.
PROGRAM APLIKASI MOBILE EMHA TAUFIQ LUTHFI PERTEMUAN 4 (12 APRIL 2011)
Try, Catch, Finally Throws
Penanganan Eksepsi.
Kelas A dapat memiliki referensi ke obyek dari kelas- kelas lain sebagai anggota. Kadang-kadang disebut sebagai hubungan “has-a”. Sebagai contoh, sebuah.
High Level User Interface
MIDP High-Level User Interface
MOBILE TECNOLOGY (J2ME)
MEMBUAT CLASS SENDIRI 2.
Tipe Data, Variabel, dan Operator
Form & Item Oleh : Oman Somantri S.Kom
MIDlet User Interface (2)
Struktur Kode Program MIDlet
As’ad Djamalilleil Komponen Class Item (2) 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 Class List As’ad Djamalilleil
Tipe Data, Variabel, dan Operator
MIDlet User Interface (3)
Mobile Teknologi Pertemuan 3
Instalasi JME & Uji Coba
Mobile Teknologi Pertemuan 2
Tipe Data, Variabel, dan Operator
Bahasa Pemrograman (Pemrograman Visual)
Dasar-dasar Pemrograman Berbasis Obyek. kelas Kelas pada java didefinisikan dengan menggunakan kata kunci class.
Transcript presentasi:

Komponen Class Item (2) As’ad Djamalilleil

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)

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

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 –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

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

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