User interface suatu aplikasi yang salah satu elemen paling penting dalam pemrograman aplikasi. Antarmuka pengguna harus dirancang dengan mengingat kemudahan penggunaan dan kejernihan tampilan kepada pengguna. Device
Profile Mobile Information (MIDP) menyediakan paket
javax.microedition.lcdui yang berisi dua jenis elemen antarmuka
pengguna, yaitu:
§
High Level User Interface
Antarmuka pengguna berisi tingkat tinggi layar seperti Formulir, Daftar Alert, dan TextBox. Hal ini juga berisi Produk yang dapat ditambahkan ke form. Keuntungan
dengan antarmuka tingkat tinggi adalah bahwa lebih mudah untuk program
dan tampilan dan nuansa dari antarmuka pengguna aplikasi tetap sama
seperti yang dari aplikasi kode asli jika mereka menggunakan antarmuka
pengguna tingkat tinggi. Dengan
demikian pengguna akan merasa lebih mudah untuk mengoperasikan aplikasi
yang menggunakan antarmuka tingkat tinggi sebagai elemen dari antarmuka
tingkat tinggi akan berperilaku dalam cara seorang pengguna terbiasa
menggunakan aplikasi lain seperti buku telepon, dll scheduler
PRAKTEK TERBAIK
Seperti
tampilan dan nuansa perubahan antarmuka tingkat tinggi dari perangkat
ke perangkat pernah mengandalkan antarmuka tingkat tinggi untuk
berperilaku sama pada semua perangkat. Misalnya
Ticker umumnya akan bergerak dari kanan ke kiri di sebagian besar
perangkat tetapi dalam SonyEricsson T610 bergerak secara vertikal tidak
horizontal, perbedaan yang sangat besar!
Jadi
selalu menggunakan antarmuka tingkat rendah dengan 'Teknik Portabilitas
UI SKJ' (Dijelaskan dalam 'Pemrograman Ponsel' buku saya sebelumnya)
ketika Anda ingin menjadi persen persen yakin tentang perilaku aplikasi
Anda.
§
Low Level User Interface
Tingkat rendah antarmuka pengguna terdiri dari kanvas, Grafis dan kelas Font. Melalui penggunaan kelas-kelas ini kita dapat mengontrol tampilan pengguna yang sangat halus. Kita dapat menarik elemen yang berbeda seperti garis, persegi panjang busur, dan teks. Kita akan membahas lebih lanjut tentang antarmuka pengguna tingkat rendah dalam bab berikutnya berjudul 'Bagaimana bekerja dengan Grafik Rendah'.
- Para Layar
Semua layar seperti Formulir, Daftar Alert, dan TextBox memiliki Layar kelas umum Super bernama. Pemrogram dapat menggunakan layar yang berbeda untuk menampilkan data dan mendapatkan input pengguna dengan cara yang portabel. Kelas Layar juga memberikan dukungan untuk menetapkan Ticker, yang dapat digunakan untuk berbagai keperluan. Sekarang kita akan membahas semua 4 jenis layar secara rinci.
- Bentuk
Formulir
adalah antarmuka pengguna layar yang telah dibangun terutama untuk
mengedit dan menampilkan beberapa jenis dan bentuk data. Formulir adalah kelas sub layar yang dapat berisi jenis berikut Produk:
·
Mengukur
·
StringItem
·
ImageItem
·
TextField
·
ChoiceGroup
·
DateField
Oleh karena itu setiap sub-class dari kelas Barang dapat terkandung dalam formulir. Dengan demikian formulir dapat bertindak sebagai wadah alat ukur, gambar, teks, daftar dan tanggal. Juga menjadi subclass dari Screen, Ticker juga bisa diatur untuk Formulir. Semua item yang terkandung dalam formulir juga bisa disebut dengan indeks mereka. Indeks dari item pertama adalah 0 dan indeks terakhir adalah jumlah item dalam bentuk dikurangi dengan satu.
Kode
contoh untuk menggunakan formulir belum diberikan secara terpisah
sebagai konstruksi bentuk dan menambahkan mereka dengan item yang ada
pada contoh kode untuk setiap jenis Item.
- Waspada
Pemberitahuan itu membantu dalam tampilan data penting kepada pengguna aplikasi. Programmer juga dapat mengatur waktu yang Pemberitahuan harus menunggu sebelum pindah ke layar berikutnya dapat ditampilkan. The 5 jenis Pemberitahuan yang ada didefinisikan dalam 'AlertType' kelas. Alarm sangat baik dalam memberikan informasi tentang kesalahan dan pengecualian lain kepada pengguna. Bahkan Anda bisa mengatakan bahwa mereka adalah kotak dialog untuk ponsel. Untuk membuat modal waspada, menggunakan pernyataan berikut:
·
setTimeout (Alert.FOREVER)
Ada lima jenis Alarm:
·
Alarm
·
Penyesuaian
·
Kesalahan
·
Info
·
Peringatan
Selain mendefinisikan berbagai jenis Alarm untuk situasi yang berbeda
MIDP juga diberi pilihan untuk menampilkan setiap gambar di dalam Alert. Gambar ini harus disediakan oleh pengembang. Anda dapat menggunakan gambar dalam semua jenis Alarm. Sekarang kita akan melihat kode praktis untuk pembangunan semua jenis Alarm.
/ *
* AlertMIDlet.java
* /
mengimpor javax.microedition.midlet *;.
mengimpor javax.microedition.lcdui *;.
/ **
** @ Author SKJ
* @ Version 1.0.0
* /
AlertAlarmMIDlet kelas publik meluas javax.microedition.midlet.MIDlet
{
swasta Tampilan layar;
waspada Pemberitahuan swasta;
swasta Formulir bentuk;
publik AlertAlarmMIDlet ()
{
this.form Formulir = baru ("NextFormDisplay");
}
public void startApp ()
{
this.display = Display.getDisplay (ini);
this.alert = new Alert ("AlertTitle", "AlertAlarmDemo", null, AlertType.ALARM);
this.display.setCurrent (this.alert, this.form);
}
public void pauseApp ()
{
}
public void destroyApp (boolean unconditional)
{
}
}
Emulator yang digunakan untuk mengambil screen shot : Nokia 6650
Contoh Pemberitahuan (Konfirmasi)
/ *
* AlertConfirmationMIDlet.java
* /
mengimpor javax.microedition.midlet *;.
mengimpor javax.microedition.lcdui *;.
impor java.io.IOException;
/ **
* @ Author SKJ
* @ Version 1.0.0
* /
AlertConfirmationMIDlet kelas publik meluas javax.microedition.midlet.MIDlet
{
swasta Tampilan layar;
waspada Pemberitahuan swasta;
swasta Formulir bentuk;
swasta Gambar gambar;
publik AlertConfirmationMIDlet ()
{
this.form Formulir = baru ("NextFormDisplay");
}
public void startApp ()
{
this.display = Display.getDisplay (ini);
mencoba
{
this.image = Image.createImage ("/ res / Ball.png");
}
catch (IOException e)
{
this.display.setCurrent (Alert baru ("Konstruktor di"));
}
this.alert = new Alert ("AlertConfirmation", "Setelah 5 detik. Anda
akan pindah ke bentuk berikutnya ", this.image, AlertType.CONFIRMATION;
this.alert.setTimeout (5000);
this.display.setCurrent (this.alert, this.form);
}
public void pauseApp ()
{
}
public void destroyApp (boolean unconditional)
{
}
}
Emulator yang digunakan untuk mengambil screen shot : Nokia 6650
Contoh Pemberitahuan (Error)
/ *
* AlertErrorMIDlet.java
* /
mengimpor javax.microedition.midlet *;.
mengimpor javax.microedition.lcdui *;.
impor java.io.IOException;
/ **
* @ Author SKJ
* @ Version 1.0.0
* /
AlertErrorMIDlet kelas publik meluas javax.microedition.midlet.MIDlet
{
swasta Tampilan layar;
waspada Pemberitahuan swasta;
swasta Formulir bentuk;
swasta Gambar gambar;
publik AlertErrorMIDlet ()
{
this.form Formulir = baru ("NextFormDisplay");
}
public void startApp ()
{
this.display = Display.getDisplay (ini);
mencoba
{
this.image = Image.createImage ("/ res / Ball.png");
}
catch (IOException e)
{
this.display.setCurrent (Alert baru ("Konstruktor di"));
}
this.alert = new Alert ("AlertError", "Setelah 3 detik. Anda akan
pindah ke bentuk berikutnya ", this.image, AlertType.ERROR);
this.alert.setTimeout (3000);
this.display.setCurrent (this.alert, this.form);
}
public void pauseApp ()
{
}
public void destroyApp (boolean unconditional)
{
}
}
Emulator yang digunakan untuk mengambil screen shot : Nokia 6650
Contoh Pemberitahuan (Info)
/ *
* AlertInfoMIDlet.java
* /
mengimpor javax.microedition.midlet *;.
mengimpor javax.microedition.lcdui *;.
impor java.io.IOException;
/ **
* @ Author SKJ
* @ Version 1.0.0
* /
AlertInfoMIDlet kelas publik meluas javax.microedition.midlet.MIDlet
{
swasta Tampilan layar;
waspada Pemberitahuan swasta;
swasta Formulir bentuk;
swasta Gambar gambar;
publik AlertInfoMIDlet ()
{
this.form Formulir = baru ("NextFormDisplay");
}
public void startApp ()
{
this.display = Display.getDisplay (ini);
mencoba
{
this.image = Image.createImage ("/ res / Ball.png");
}
catch (IOException e)
{
this.display.setCurrent (Alert baru ("Konstruktor di"));
}
this.alert = new Alert ("AlertInfo", "Setelah 3 detik Anda akan. bergerak
ke bentuk berikutnya ", this.image, AlertType.INFO);
this.alert.setTimeout (3000);
this.display.setCurrent (this.alert, this.form);
}
public void pauseApp ()
{
}
public void destroyApp (boolean unconditional)
{
}
}
Emulator yang digunakan untuk mengambil screen shot : Nokia 6650
Contoh Pemberitahuan (Peringatan)
/ *
* AlertWarningMIDletSuite.java
* /
mengimpor javax.microedition.midlet *;.
mengimpor javax.microedition.lcdui *;.
impor java.io.IOException;
/ **
* @ Author SKJ
* @ Version 1.0.0
* /
AlertWarningMIDlet kelas publik meluas javax.microedition.midlet.MIDlet
{
swasta Tampilan layar;
waspada Pemberitahuan swasta;
swasta Formulir bentuk;
swasta Gambar gambar;
publik AlertWarningMIDlet ()
{
this.form Formulir = baru ("NextFormDisplay");
}
public void startApp ()
{
this.display = Display.getDisplay (ini);
mencoba
{
this.image = Image.createImage ("/ res / Ball.png");
}
catch (IOException e)
{
this.display.setCurrent (Alert baru ("Konstruktor di"));
}
this.alert = new Alert ("AlertWarning", "Klik OK untuk pindah ke
berikutnya bentuk. Modal Alert ", this.image, AlertType.WARNING);
this.alert.setTimeout (Alert.FOREVER);
this.display.setCurrent (this.alert, this.form);
}
public void pauseApp ()
{
}
public void destroyApp (boolean unconditional)
{
}
}
Emulator yang digunakan untuk mengambil screen shot : Nokia 6650
- Daftar
Daftar A adalah elemen antarmuka pengguna yang digunakan untuk menampilkan pilihan di telepon ponsel. Daftar adalah setara ponsel dari ListBox dan ComboBox desktop. Daftar dapat digunakan untuk menampilkan pilihan menu.
Daftar adalah dari 3 jenis berikut:
·
IMPLISIT
Daftar IMPLISIT menawarkan cara yang sangat nyaman untuk pembangunan menu dan daftar sederhana. Hal ini juga memberi programmer 'Command publik akhir statis SELECT_COMMAND' an yaitu perintah otomatis. Perintah ini memungkinkan programmer untuk mengetahui apakah pengguna telah memilih elemen Daftar. Peristiwa yang dihasilkan oleh Komando ini dapat digunakan dari seperti itu dari perintah normal lainnya.
Untuk mengetahui pilihan mana yang tertentu telah dipilih dalam 'getSelectedIndex public int ()' penggunaan Daftar IMPLISIT metode.
·
EKSKLUSIF
Dalam Daftar EKSKLUSIF pengguna memiliki pilihan untuk memilih satu dari banyak unsur. Untuk mengetahui pilihan mana yang tertentu telah dipilih dalam 'getSelectedIndex public int ()' penggunaan Daftar EKSKLUSIF metode.
·
GANDA
Dalam Daftar GANDA pengguna dapat memilih banyak pilihan pada saat yang sama dari Daftar. Untuk mengetahui status seleksi pilihan yang berbeda dalam 'getSelectedFlags public int (boolean [] selectedArray_return)' penggunaan Daftar GANDA metode. Metode ini mengembalikan array boolean berisi status dari setiap elemen dari Daftar 'beberapa'. Jika
unsur ini di negara yang dipilih maka variabel yang sesuai pada array
boolean yang dikembalikan oleh metode ini adalah dalam keadaan 'benar'
jika tidak dalam keadaan palsu.
EKSKLUSIF DAFTAR
BEBERAPA DAFTAR
/ *
* ListDemoMIDlet.java
* /
mengimpor javax.microedition.midlet *;.
mengimpor javax.microedition.lcdui *;.
/ *
* @ Author SKJ
* @ Version 1.0.0
* /
ListDemoMIDlet kelas publik meluas javax.microedition.midlet.MIDlet CommandListener alat
{
swasta Tampilan layar;
swasta Daftar daftar;
publik ListDemoMIDlet ()
{
Daftar this.list = baru ("Screen Judul", List.IMPLICIT);
this.list.append ("List1", null);
this.list.append ("List2", null);
this.list.append ("List3", null);
this.list.append ("List4", null);
this.list.append ("List5", null);
this.list.setCommandListener (ini);
}
public void startApp ()
{
this.display = Display.getDisplay (ini);
this.display.setCurrent (this.list);
}
public void pauseApp () {
}
public void destroyApp (boolean unconditional)
{
}
public void commandAction (Command comm, dapat ditampilkan Disp)
{
if (== Disp this.list)
{
if (comm == List.SELECT_COMMAND)
{
if (this.list.getSelectedIndex () == 0)
{
this.list.setTitle ("List1 diklik");
}
else if (this.list.getSelectedIndex () == 1)
{
this.list.setTitle ("List2 diklik");
}
else if (this.list.getSelectedIndex () == 2)
{
this.list.setTitle ("List3 diklik");
}
else if (this.list.getSelectedIndex () == 3)
{
this.list.setTitle ("List4 diklik");
}
else if (this.list.getSelectedIndex () == 4)
{
this.list.setTitle ("List5 diklik");
}
}
}
}
}
Emulator yang digunakan untuk mengambil screen shot : Nokia Series 60
/ *
* ListMultipleMIDlet.java
* /
mengimpor javax.microedition.midlet *;.
mengimpor javax.microedition.lcdui *;.
/ **
* @ Penulis SKJ
* @ Version 1.0.0
* /
ListMultipleMIDlet kelas publik meluas javax.microedition.midlet.MIDlet CommandListener alat
{
swasta Tampilan layar;
swasta Daftar daftar;
swasta Command ok;
kembali Komando swasta;
swasta boolean [] bool;
swasta Formulir bentuk;
publik ListMultipleMIDlet ()
{
Daftar this.list = baru ("Screen Judul", List.MULTIPLE);
this.ok = new Command ("OK", Command.OK, 1);
this.back = new Command ("Kembali", Command.BACK, 1);
/ / This.alert = new Alert ("")
this.list.append ("List1", null);
this.list.append ("List2", null);
this.list.append ("List3", null);
this.list.append ("List4", null);
this.list.append ("List5", null);
this.bool = new boolean [this.list.size ()];
this.list.addCommand (this.ok);
this.list.setCommandListener (ini);
}
public void startApp ()
{
this.display = Display.getDisplay (ini);
this.display.setCurrent (this.list);
}
public void pauseApp () {
}
public void destroyApp (boolean unconditional)
{
}
public void commandAction (Command comm, dapat ditampilkan Disp)
{
this.list.getSelectedFlags (this.bool);
if (== Disp this.list)
{
if (comm == this.ok)
{
/ / Membuat form di sini sehingga akan menambahkan item pada setiap
/ / Tindakan. Tidak akan menyimpan item sebelumnya
this.initForm ();
for (int i = 0; i <this.list.size (); i + +)
{
if (this.bool [i] == true)
{
this.form.append ("ITEM" + i + "\ n");
}
}
}
this.display.setCurrent (this.form);
}
lain jika (Disp == this.form)
{
if (comm == this.back)
{
this.display.setCurrent (Alert baru ("", "Mengatur
daftar ... ", null, AlertType.INFO), this.list);
this.list.setSelectedIndex (0, false);
}
}
}
public void initForm ()
{
this.form = new Form ("MultipleListDemo");
this.form.addCommand (this.back);
this.form.setCommandListener (ini);
}
}
Emulator yang digunakan untuk mengambil screen shot : Nokia Series 60
Contoh Daftar (Eksklusif)
/ *
* ListExclusiveMIDlet.java
* /
mengimpor javax.microedition.midlet *;.
mengimpor javax.microedition.lcdui *;.
impor java.io.IOException;
/ **
* @ Author SKJ
* @ Version 1.0.0
* /
ListExclusiveMIDlet kelas publik meluas javax.microedition.midlet.MIDlet CommandListener alat
{
swasta Tampilan layar;
swasta Daftar daftar;
swasta Formulir bentuk;
swasta Command listOK;
swasta Command formBack;
swasta boolean [] bool;
publik ListExclusiveMIDlet ()
{
initListCommand ();
this.initList ();
}
public void startApp ()
{
this.display = Display.getDisplay (ini);
this.display.setCurrent (this.list);
}
public void pauseApp ()
{
}
public void destroyApp (boolean unconditional)
{
}
public void commandAction (Command comm, dapat ditampilkan Disp)
{
this.list.getSelectedFlags (this.bool);
if (== Disp this.list)
{
if (comm == this.listOK)
{
this.initForm ();
for (int i = 0; i <this.list.size (); i + +)
{
if (this.bool [i] == true)
{
this.form.append ("Item" + i + "\ n");
}
}
/ / This.display.setCurrent (Formulir baru ("Daftar Acara Aksi
/ / Membangkitkan FORMULIR "));
}
this.display.setCurrent (Alert baru ("", "Tunggu ... selama 2
detik ", null, AlertType.INFO), this.form);
}
lain jika (Disp == this.form)
{
if (comm == this.formBack)
{
this.display.setCurrent (Alert baru ("", "Tunggu ... selama 2
detik ", null, AlertType.INFO), this.list);
}
}
}
private void initListCommand ()
{
this.listOK = new Command ("OK", Command.OK, 2);
}
private void initFormCommand ()
{
this.formBack = new Command ("Kembali", Command.BACK, 2);
}
/ / Inisialisasi daftar di sini
private void initList ()
{
this.initListCommand ();
Daftar this.list = baru ("Screen Judul", List.EXCLUSIVE);
this.list.append ("List1", null);
this.list.append ("List2", null);
this.list.append ("List3", null);
this.list.append ("List4", null);
this.list.append ("List5", null);
this.initBool ();
this.list.addCommand (this.listOK);
this.list.setCommandListener (ini);
}
private void initForm ()
{
this.form = new Form ("ListExclusiveDemoForm");
this.initFormCommand ();
this.form.addCommand (this.formBack);
this.form.setCommandListener (ini);
}
private void initBool ()
{
this.bool = new boolean [this.list.size ()];
}
}
Emulator yang digunakan untuk mengambil screen shot : Nokia Series 60
- TextBox
TextBox adalah layar yang memungkinkan input pengguna dan mengedit data. Layar ini adalah setara mobile ke TextBox desktop. Konstruktor
untuk TextBox mengambil nilai untuk kapasitas, yang merupakan jumlah
maksimum karakter yang dapat disimpan dalam TextBox setiap saat. Juga telepon dapat menimbulkan kapasitas maksimum yaitu kapasitas yang dapat menjadi maksimum untuk TextBox ini. Sebuah aplikasi yang baik biasanya harus mengambil ke account. Para
getMaxSize () metode dapat digunakan untuk memiliki nilai kapasitas
maksimum yang diizinkan diperbolehkan oleh lingkungan implementasi
ponsel.
TextBox dapat memiliki kendala-kendala masukan. Mereka adalah sebagai berikut:
·
public int akhir statis APAPUN
·
CONSTRAINT_MASK public int static final
·
EMAILADDR public int static final
·
public int statis NUMERIC akhir
·
PASSWORD public int static final
·
PhoneNumber public int static final
·
URL public int static final
Lingkungan implementasi perangkat membatasi masukan pengguna berdasarkan kendala-kendala. Kendala ini masukan yang sangat berguna dalam situasi tertentu seperti ketika pengguna ingin untuk memasukkan nomor telepon. Dalam
hal ini jika kendala input TextBox adalah 'NUMERIC' maka ketika
pengguna akan ketik pada papan tombol input secara otomatis akan menjadi
nomor tercetak pada tombol tersebut. Para huruf tercetak pada tombol tersebut tidak akan merupakan bagian dari input. Dengan demikian pengguna diselamatkan dari kerumitan berulang kali mengklik pada tombol yang sama untuk memasukkan nomor. Dengan demikian kendala input harus digunakan berdasarkan tugas yang TextBox diinisialisasi.
Mencatat
TextBox secara visual sangat mirip dengan TextField. Satu-satunya perbedaan adalah bahwa ia memiliki fitur layar dan bukan kelas Item.
- Item
Kelas Barang mendefinisikan fungsionalitas dasar dari elemen yang dapat ditambahkan ke Formulir atau Pemberitahuan. Ada 6 jenis item yang telah didefinisikan dalam spesifikasi MIDP 1.0. Ini 6 jenis item menyediakan fungsionalitas mulai lebar. Berikut ini adalah jenis item didefinisikan oleh spesifikasi MIDP 1.0:
- ChoiceGroup
- DateField
- Mengukur
- ImageItem
- StringItem
- TextField
ChoiceGroup DateField Mengukur
ImageItem StringItem TextField
Emulator yang digunakan untuk screenshot : Nokia 6650
Item biasanya memiliki label. Nilai
label biasanya harus diberikan tetapi tidak wajib untuk memberikan dan
nilai null di tempat label adalah hukum dan itu menentukan adanya label. Juga
dalam beberapa telepon dalam kasus beberapa item ketika pengguna
memilih item untuk mengedit isinya, sistem beralih ke sistem yang
dihasilkan layar. Misalnya
pada sebagian besar ponsel saat Anda mengedit teks dalam sebuah
textfield, berubah dalam tampilan dan nuansa ke TextBox. Dalam
memilih perintah OK secara otomatis setelah mengedit TextField, itu
lagi menjadi textfield normal dengan semua isi yang ditambahkan ke
dalamnya selama pengeditan teks.
Praktik Terbaik
Walaupun biasanya Anda dapat menambahkan sejumlah besar item dalam satu Formulir mencoba untuk menghindari skenario seperti itu. Dari pengalaman praktis saya akan menyarankan Anda untuk menyimpan jumlah maksimum item dalam Formulir 3.
a. ChoiceGroup
ChoiceGroup adalah elemen antarmuka pengguna untuk menampilkan beberapa pilihan di telepon ponsel. ChoiceGroup adalah subclass dari kelas Item. The 'ChoiceGroup' dapat dimasukkan pada formulir. Ada dua jenis ChoiceGroup:
Ø Eksklusif
Jenis ChoiceGroup memungkinkan pengguna untuk memilih hanya satu pilihan dari satu set pilihan. Untuk
mengetahui pilihan mana yang tertentu telah dipilih dalam
'getSelectedIndex public int ()' penggunaan ChoiceGroup EKSKLUSIF
metode.
Ø Beberapa
Jenis ChoiceGroup memungkinkan pengguna untuk memilih sejumlah pilihan dari satu set pilihan. Untuk
mengetahui status seleksi pilihan yang berbeda dalam 'getSelectedFlags
public int (boolean [] selectedArray_return)' penggunaan ChoiceGroup
GANDA metode. Metode ini mengembalikan array boolean berisi status dari setiap elemen dari ChoiceGroup 'beberapa'. Jika
unsur ini di negara yang dipilih maka variabel yang sesuai pada array
boolean yang dikembalikan oleh metode ini adalah dalam keadaan 'benar'
jika tidak dalam keadaan palsu.
CHOICEGROUP
- ChoiceGroup EKSKLUSIF
- ChoiceGroup GANDA
Contoh ChoiceGroup (Eksklusif)
/ *
* ChoiceGroupExclusive.java
* /
mengimpor javax.microedition.midlet *;.
mengimpor javax.microedition.lcdui *;.
/ **
** @ Author SKJ
* @ Version 1.0.0
* /
public class ChoiceGroupExclusive meluas javax.microedition.midlet.MIDlet
{
swasta Formulir bentuk;
swasta Tampilan layar;
cgExclusive swasta ChoiceGroup;
publik ChoiceGroupExclusive ()
{
this.display = Display.getDisplay (ini);
this.initForm ();
/ / Mengatur tampilan saat ini
this.display.setCurrent (this.form);
}
public void startApp ()
{
}
public void pauseApp ()
{
}
public void destroyApp (boolean unconditional)
{
}
public void initForm ()
{
/ / Inisialisasi item
initChoiceGroupExclusive ();
/ / Inisialisasi bentuk
this.form = new Form ("");
this.form.append (this.cgExclusive);
}
initChoiceGroupExclusive public void ()
{
this.cgExclusive = baru
ChoiceGroup ("ChoiceGroupLabel", ChoiceGroup.EXCLUSIVE);
this.cgExclusive.append ("string1", null);
this.cgExclusive.append ("string2", null);
this.cgExclusive.append ("String3", null);
}
}
Emulator yang digunakan untuk mengambil screen shot : Nokia 6650
Contoh ChoiceGroup (Multiple)
/ *
* ChoiceGroupMultiple.java
* /
mengimpor javax.microedition.midlet *;.
mengimpor javax.microedition.lcdui *;.
/ **
** @ Author SKJ
* @ Version 1.0.0
* /
ChoiceGroupMultiple kelas publik meluas javax.microedition.midlet.MIDlet
{
swasta Formulir bentuk;
swasta Tampilan layar;
swasta ChoiceGroup cgMultiple;
publik ChoiceGroupMultiple ()
{
this.display = Display.getDisplay (ini);
this.initForm ();
/ / Mengatur tampilan saat ini
this.display.setCurrent (this.form);
}
public void startApp ()
{
}
public void pauseApp ()
{
}
public void destroyApp (boolean unconditional)
{
}
public void initForm ()
{
/ / Inisialisasi item
initChoiceGroupMultiple ();
/ / Inisialisasi bentuk
this.form = new Form ("");
this.form.append (this.cgMultiple);
}
public void initChoiceGroupMultiple ()
{
this.cgMultiple = baru ChoiceGroup ("ChoiceGroupLabel", ChoiceGroup.MULTIPLE);
this.cgMultiple.append ("string1", null);
this.cgMultiple.append ("string2", null);
this.cgMultiple.append ("String3", null);
}
}
Emulator yang digunakan untuk mengambil screen shot : Nokia 6650
b. DateField
Sebuah
DateField adalah elemen antarmuka pengguna untuk mengambil input dan
menunjukkan output dalam hal tanggal dan waktu pada ponsel. DateField adalah subclass dari kelas Item. The
'DateFields' biasanya digunakan bersama dengan Formulir dalam
penjadwalan dan pencatat waktu aplikasi seperti aplikasi 'dunia waktu
jam. Para DateField dapat menampilkan Tanggal dan Waktu dalam format berikut:
Ø TANGGAL
Ø TANGGAL DAN WAKTU
Ø WAKTU
Praktik Terbaik
DateField pada perangkat yang berbeda terlihat dan juga kadang-kadang berperilaku berbeda. Jadi
perawatan harus dilakukan untuk memusyawarahkan tampilan dan nuansa
dari DateField pada perangkat yang sebenarnya yang mana aplikasi harus
dikerahkan sebelum menggunakan mereka dalam sebuah aplikasi.
Contoh Kode: DateField (Tanggal)
/ *
* Date.java
* /
mengimpor javax.microedition.midlet *;.
mengimpor javax.microedition.lcdui *;.
/ **
** @ Author SKJ
* @ Version 1.0.0
* /
DateMIDlet kelas publik meluas javax.microedition.midlet.MIDlet
{
swasta Formulir bentuk;
swasta Tampilan layar;
swasta DateField tanggal;
publik DateMIDlet ()
{
this.display = Display.getDisplay (ini);
this.initForm ();
/ / Mengatur tampilan saat ini
this.display.setCurrent (this.form);
}
public void startApp ()
{
}
public void pauseApp ()
{
}
public void destroyApp (boolean unconditional)
{
}
public void initForm ()
{
/ / Inisialisasi item
initDateFiledDate ();
/ / Inisialisasi bentuk
this.form = new Form ("");
this.form.append (this.date);
}
public void initDateFiledDate ()
{
this.date = new DateField ("DateFieldLabel", DateField.DATE);
}
}
Emulator yang digunakan untuk mengambil screen shot : Nokia 6650
Contoh Kode: DateField (DATE_TIME)
/ *
* Date.java
* /
mengimpor javax.microedition.midlet *;.
mengimpor javax.microedition.lcdui *;.
/ **
* @ Author SKJ
* @ Version 1.0.0
* /
DateTimeMIDlet kelas publik meluas javax.microedition.midlet.MIDlet
{
swasta Formulir bentuk;
swasta Tampilan layar;
swasta DateField datetime;
publik DateTimeMIDlet ()
{
this.display = Display.getDisplay (ini);
this.initForm ();
/ / Mengatur tampilan saat ini
this.display.setCurrent (this.form);
}
public void startApp ()
{
}
public void pauseApp ()
{
}
public void destroyApp (boolean unconditional)
{
}
public void initForm ()
{
/ / Inisialisasi item
initDateFiledDateTime ();
/ / Inisialisasi bentuk
this.form = new Form ("");
this.form.append (this.dateTime);
}
public void initDateFiledDateTime ()
{
this.dateTime = baru
DateField ("DateFieldLabel", DateField.DATE_TIME);
}
}
Emulator yang digunakan untuk mengambil screen shot : Nokia 6650
Contoh Kode: DateField (Waktu)
/ *
* Date.java
* /
mengimpor javax.microedition.midlet *;.
mengimpor javax.microedition.lcdui *;.
/ **
* @ Author SKJ
* @ Version 1.0.0
* /
TimeMIDlet kelas publik meluas javax.microedition.midlet.MIDlet
{
swasta Formulir bentuk;
swasta Tampilan layar;
swasta DateField waktu;
publik TimeMIDlet ()
{
this.display = Display.getDisplay (ini);
this.initForm ();
/ / Mengatur tampilan saat ini
this.display.setCurrent (this.form);
}
public void startApp ()
{
}
public void pauseApp ()
{
}
public void destroyApp (boolean unconditional)
{
}
public void initForm ()
{
/ / Inisialisasi item
initDateFiledTime ();
/ / Inisialisasi bentuk
this.form = new Form ("");
this.form.append (this.time);
}
public void initDateFiledTime ()
{
this.time = new DateField ("DateFieldLabel", DateField.TIME);
}
}
Emulator yang digunakan untuk mengambil screen shot : Nokia 6650
c. Mengukur
Gauge adalah elemen antarmuka pengguna untuk menampilkan data dalam bentuk bar. Pada beberapa perangkat alat ukur diwakili dalam bentuk serangkaian bar. Gauge dapat digunakan untuk menampilkan jenis berikut layar:
Ø 'Tunggu' Layar
Ø "Mengisi" Layar
Ø 'Bar Graph' Layar
Tampilan dan nuansa gauge tergantung pada handset. Fakta ini harus disimpan dalam pikiran. The 'setValue public void (int nilai)' metode yang digunakan untuk memperbarui nilai-nilai Gauge tersebut pemrograman.
Ada dapat dua jenis Gauges
Ø Interaktif
Dalam kasus sebuah pengukur interaktif pengguna dapat memodifikasi nilai dengan ada tindakan. Pengguna akhir dapat menggunakan tombol kiri dan Tombol kanan untuk mengedit Gauge tersebut.
Ø Non - Interaktif
Dalam kasus non - pengukur interaktif pengguna tidak dapat memodifikasi nilai. Modifikasi nilai hanya mungkin melalui penggunaan 'setValue public void (int nilai)' metode.
Nilai minimum untuk Gauge adalah 0. Jika
Anda akan menetapkan nilai awal Gauge untuk lebih dari nilai maksimum
yang diizinkan maka secara otomatis akan menetapkan nilai maksimum
sampai 99.
Contoh Kode: Gauge (Non-interaktif)
/ *
* DemoMIDlet.java
* /
mengimpor javax.microedition.midlet *;.
mengimpor javax.microedition.lcdui *;.
/ **
*
* @ Author SKJ
* @ Version 1.0.0
* /
demoMIDlet kelas publik meluas javax.microedition.midlet.MIDlet
{
swasta Formulir bentuk;
swasta Tampilan layar;
swasta Gauge gaugeNonInteractive;
publik demoMIDlet ()
{
this.display = Display.getDisplay (ini);
this.initForm ();
/ / Mengatur tampilan saat ini
this.display.setCurrent (this.form);
}
public void startApp ()
{
}
public void pauseApp ()
{
}
public void destroyApp (boolean unconditional)
{
}
public void initForm ()
{
/ / Inisialisasi item
initGaugeNonInteractive ();
/ / Inisialisasi bentuk
this.form = new Form ("");
this.form.append (this.gaugeNonInteractive);
}
public void initGaugeNonInteractive ()
{
this.gaugeNonInteractive Gauge = baru ("GaugeLabel", false, 100,0);
}
}
Emulator yang digunakan untuk mengambil Screen Shot : Nokia Series 60
Contoh Kode: Gauge (Interaktif)
/ *
* GaugeInteractive.java
* /
mengimpor javax.microedition.midlet *;.
mengimpor javax.microedition.lcdui *;.
/ *
* @ Author SKJ
* @ Version 1.0.0
* /
GaugeInteractive kelas publik meluas javax.microedition.midlet.MIDlet
{
swasta Formulir bentuk;
swasta Tampilan layar;
swasta Gauge gaugeInteractive;
publik GaugeInteractive ()
{
this.display = Display.getDisplay (ini);
this.initForm ();
/ / Mengatur tampilan saat ini
this.display.setCurrent (this.form);
}
public void startApp ()
{
}
public void pauseApp ()
{
}
public void destroyApp (boolean unconditional)
{
}
public void initForm ()
{
/ / Inisialisasi item
initGaugeInteractive ();
/ / Inisialisasi bentuk
this.form = new Form ("");
this.form.append (this.gaugeInteractive);
}
public void initGaugeInteractive ()
{
this.gaugeInteractive Gauge = baru ("GaugeLabel", benar, 100,0);
}
}
Emulator yang digunakan untuk mengambil screen shot : Nokia Series 60
d. ImageItem
Kelas ImageItem menyediakan fungsi untuk menambahkan gambar dalam Formulir dan Tanda. Kelas ini juga menyediakan fasilitas untuk mengontrol tata letak gambar. Berikut ini adalah layout yang diberikan kepada kami di ImageItem:
·
LAYOUT_LEFT
·
LAYOUT_RIGHT
·
LAYOUT_CENTER
·
LAYOUT_NEWLINE_BEFORE
·
LAYOUT_NEWLINE_AFTER
·
LAYOUT_DEFAULT.
Menyediakan LAYOUT_DEFAULT menyebabkan sistem untuk menggunakan kebijakan default tata letak sistem. Juga ini hanya indikasi ke perangkat. Perangkat tidak dapat ikuti karena kendala sumber daya. Juga ingat bahwa hanya berubah gambar harus ditambahkan ke dalamnya, selain itu akan membuang IllegalArgumentException.
Constructor ImageItem memiliki tanda tangan berikut:
§
publik ImageItem (label java.lang.String, Gambar img, tata letak int, altText java.lang.String)
Contoh Kode (Cuplikan): ImageITem
imgItem = new ImageItem ("image1", starImage, LAYOUT_CENTER, "Star Gambar");
Emulator yang digunakan untuk mengambil screen shot : Nokia 6650
e. StringItem
StringItem berisi:
·
Label
·
Teks
Kedua label dan teks harus string. Ini subclass dari Barang digunakan untuk memberikan output string ke pengguna dan tidak mendukung input string dari pengguna. Meskipun aplikasi dapat dengan sendirinya mengubah isi StringItem tersebut.
Praktik Terbaik
Penyajian label dan teks mungkin berbeda di berbagai perangkat. Beberapa perangkat menampilkan label seperti tebal, sementara yang lainnya tidak. Untuk lebih memahami presentasi antarmuka pengguna pada perangkat yang berbeda, Anda dapat berlangganan 'SKJ KnowledgeNET' dengan menulis ke knowledgenet@skjworld.com.
/ *
* DemoMIDlet.java
* /
mengimpor javax.microedition.midlet *;.
mengimpor javax.microedition.lcdui *;.
/ **
* @ Author SKJ
* @ Version 1.0.0
* /
demoMIDlet kelas publik meluas javax.microedition.midlet.MIDlet
{
swasta Formulir bentuk;
swasta Tampilan layar;
swasta StringItem StringItem;
publik demoMIDlet ()
{
mencoba
{
this.display = Display.getDisplay (ini);
this.initForm ();
/ / Mengatur tampilan saat ini
this.display.setCurrent (this.form);
}
catch (Exception e)
{
this.display.setCurrent (Alert baru ("Konstruktor di"));
}
}
public void startApp ()
{
}
public void pauseApp ()
{
}
public void destroyApp (boolean unconditional)
{
}
public void initForm ()
{
/ / Inisialisasi item
initStringItem ();
/ / Inisialisasi bentuk
this.form = new Form ("");
this.form.append (this.stringItem);
}
public void initStringItem ()
{
this.stringItem = new StringItem ("Label", "Teks");
}
}
Emulator yang digunakan untuk mengambil screen shot : Nokia 6650
f. TextField
Konstruktor
untuk textfield mengambil nilai untuk kapasitas, yang merupakan jumlah
karakter maksimum yang dapat disimpan di textfield setiap saat. Juga pelaksanaannya dapat menimbulkan kapasitas maksimum yaitu kapasitas yang dapat menjadi maksimum untuk textfield ini. Sebuah aplikasi yang baik biasanya harus mengambil ke account. Para
getMaxSize () metode dapat digunakan untuk memiliki nilai kapasitas
maksimum yang diizinkan diperbolehkan oleh lingkungan implementasi.
Textfield dapat memiliki kendala masukan banyak. Mereka adalah sebagai berikut:
·
public int akhir statis APAPUN
·
CONSTRAINT_MASK public int static final
·
EMAILADDR public int static final
·
public int statis NUMERIC akhir
·
PASSWORD public int static final
·
PhoneNumber public int static final
·
URL public int static final
Lingkungan implementasi perangkat membatasi masukan pengguna berdasarkan kendala-kendala. Kendala ini masukan yang sangat berguna dalam situasi tertentu seperti ketika pengguna ingin untuk memasukkan nomor telepon. Dalam
hal ini jika kendala input TextBox adalah 'NUMERIC' maka ketika
pengguna akan ketik pada papan tombol input secara otomatis akan menjadi
nomor tercetak pada tombol tersebut. Para huruf tercetak pada tombol tersebut tidak akan merupakan bagian dari input. Dengan demikian pengguna diselamatkan dari kerumitan berulang kali mengklik pada tombol yang sama untuk memasukkan nomor. Dengan demikian kendala input harus digunakan berdasarkan tugas yang TextBox diinisialisasi.
Emulator yang digunakan untuk mengambil screen shot : Nokia 6650
Kode Contoh: textfield (APAPUN)
/ *
* TextFieldAny.java
* /
mengimpor javax.microedition.midlet *;.
mengimpor javax.microedition.lcdui *;.
/ **
* @ Author SKJ
* @ Version 1.0.0
* /
TextFieldAnyMIDlet kelas publik meluas javax.microedition.midlet.MIDlet
{
swasta Formulir bentuk;
swasta Tampilan layar;
swasta textfield apapun;
publik TextFieldAnyMIDlet ()
{
this.display = Display.getDisplay (ini);
this.initForm ();
/ / Mengatur tampilan saat ini
this.display.setCurrent (this.form);
}
public void startApp ()
{
}
public void pauseApp ()
{
}
public void destroyApp (boolean unconditional)
{
}
public void initForm ()
{
/ / Inisialisasi item
initTextFieldAny ();
/ / Inisialisasi bentuk
this.form = new Form ("");
this.form.append (this.any);
}
public void initTextFieldAny ()
{
this.any = baru
TextField ("TextFieldLabel", "Teks", 50, TextField.ANY);
}
}
Emulator yang digunakan untuk mengambil screen shot : Nokia 6650
Contoh Kode: textfield (EMAILADDR)
/ *
* TextFieldEmailAdd.java
* /
mengimpor javax.microedition.midlet *;.
mengimpor javax.microedition.lcdui *;.
/ **
* @ Author SKJ
* @ Version 1.0.0
* /
TextFieldEmailAddMIDlet kelas publik meluas javax.microedition.midlet.MIDlet
{
swasta Formulir bentuk;
swasta Tampilan layar;
swasta textfield emailAdd;
publik TextFieldEmailAddMIDlet ()
{
this.display = Display.getDisplay (ini);
this.initForm ();
/ / Mengatur tampilan saat ini
this.display.setCurrent (this.form);
}
public void startApp ()
{
}
public void pauseApp ()
{
}
public void destroyApp (boolean unconditional)
{
}
public void initForm ()
{
/ / Inisialisasi item
initTextFieldEmailAdd ();
/ / Inisialisasi bentuk
this.form = new Form ("");
this.form.append (this.emailAdd);
}
public void initTextFieldEmailAdd ()
{
this.emailAdd = baru
TextField ("TextFieldLabel", "Teks", 50, TextField.EMAILADDR);
}
}
Emulator yang digunakan untuk mengambil screen shot : Nokia 6650
Contoh Kode: textfield (NUMERIC)
/ *
* TextFieldNumeric.java
* /
mengimpor javax.microedition.midlet *;.
mengimpor javax.microedition.lcdui *;.
/ **
* @ Author SKJ
* @ Version 1.0.0
* /
TextFieldNumericMIDlet kelas publik meluas javax.microedition.midlet.MIDlet
{
swasta Formulir bentuk;
swasta Tampilan layar;
swasta textfield numerik;
public void startApp ()
{
mencoba
{
this.display = Display.getDisplay (ini);
this.initForm ();
/ / Mengatur tampilan saat ini
this.display.setCurrent (this.form);
}
catch (Exception e)
{
this.display.setCurrent (Alert baru ("Konstruktor di"));
}
}
public void pauseApp () {
}
public void destroyApp (boolean unconditional) {
}
public void initForm ()
{
/ / Inisialisasi item
initTextFieldNumeric ();
/ / Inisialisasi bentuk
this.form = new Form ("");
this.form.append (this.numeric);
}
public void initTextFieldNumeric ()
{
this.numeric = baru TextField ("TextFieldLabel", "", 10, TextField.NUMERIC);
}
}
Emulator yang digunakan untuk mengambil screen shot : Nokia 6650
Contoh Kode: textfield (SANDI)
/ *
* TextFieldPassword.java
* /
mengimpor javax.microedition.midlet *;.
mengimpor javax.microedition.lcdui *;.
/ **
* @ Author SKJ
* @ Version 1.0.0
* /
PasswordMIDlet kelas publik meluas javax.microedition.midlet.MIDlet
{
swasta Formulir bentuk;
swasta Tampilan layar;
swasta textfield password;
public void startApp ()
{
mencoba
{
this.display = Display.getDisplay (ini);
this.initForm ();
/ / Mengatur tampilan saat ini
this.display.setCurrent (this.form);
}
catch (Exception e)
{
this.display.setCurrent (Alert baru ("Konstruktor di"));
}
}
public void pauseApp () {
}
public void destroyApp (boolean unconditional) {
}
public void initForm ()
{
/ / Inisialisasi item
initTextFieldPassword ();
/ / Inisialisasi bentuk
this.form = new Form ("");
this.form.append (this.password);
}
public void initTextFieldPassword ()
{
this.password = baru
TextField ("TextFieldLabel", "", 10, TextField.PASSWORD);
}
}
Emulator yang digunakan untuk mengambil screen shot : Nokia 6650
Contoh Kode: textfield (PhoneNumber)
/ *
* TextFieldPN.java
* /
mengimpor javax.microedition.midlet *;.
mengimpor javax.microedition.lcdui *;.
/ **
* @ Author SKJ
* @ Version 1.0.0
* /
PhoneNumberMIDlet kelas publik meluas javax.microedition.midlet.MIDlet {
swasta Formulir bentuk;
swasta Tampilan layar;
swasta textfield PhoneNumber;
public void startApp ()
{
mencoba
{
this.display = Display.getDisplay (ini);
this.initForm ();
/ / Mengatur tampilan saat ini
this.display.setCurrent (this.form);
}
catch (Exception e)
{
this.display.setCurrent (Alert baru ("Konstruktor di"));
}
}
public void pauseApp () {
}
public void destroyApp (boolean unconditional) {
}
public void initForm ()
{
/ / Inisialisasi item
initTextFieldPhoneNumber ();
/ / Inisialisasi bentuk
this.form = new Form ("");
this.form.append (this.phoneNumber);
}
public void initTextFieldPhoneNumber ()
{
this.phoneNumber = baru
TextField ("TextFieldLabel", "111", 10, TextField.PHONENUMBER);
}
}
Emulator yang digunakan untuk mengambil screen shot : Nokia 6650
Contoh Kode: textfield (URL)
/ *
* TextFieldURL.java
* /
mengimpor javax.microedition.midlet *;.
mengimpor javax.microedition.lcdui *;.
/ **
* @ Author SKJ
* @ Version 1.0.0
* /
URLMIDlet kelas publik meluas javax.microedition.midlet.MIDlet
{
swasta Formulir bentuk;
swasta Tampilan layar;
swasta textfield url;
public void startApp ()
{
try {
this.display = Display.getDisplay (ini);
this.initForm ();
/ / Mengatur tampilan saat ini
this.display.setCurrent (this.form);
}
catch (Exception e)
{
this.display.setCurrent (Alert baru ("Konstruktor di"));
}
}
public void pauseApp () {
}
public void destroyApp (boolean unconditional) {
}
public void initForm ()
{
/ / Inisialisasi item
initTextFieldURL ();
/ / Inisialisasi bentuk
this.form = new Form ("");
this.form.append (this.url);
}
public void initTextFieldURL ()
{
this.url = baru
TextField ("TextFieldLabel", "abc", 10, TextField.URL);
}
}
Emulator yang digunakan untuk mengambil screen shot : Nokia 6650
- Komando s
Setiap aplikasi perlu berinteraksi dengan pengguna. Perintah menawarkan salah satu bentuk terbaik dari interaksi pengguna. Mereka adalah setara mobile 'Command Button' desktop. Mereka bisa melayani berbagai tujuan. Beberapa di antaranya adalah:
·
Pemrograman tombol lunak ponsel
·
Alternatif user input
·
Otomatis menu generasi
Kelas Command memiliki konstruktor berikut:
·
publik Command (String label, int CommandType, int prioritas)
Jadi konstruktor komando memerlukan tiga item informasi:
·
Label
·
Jenis
·
Prioritas
Label
String label ditampilkan kepada pengguna untuk mewakili perintah. Dalam
perintah memiliki jenis perintah selain LAYAR, nilai label dapat
diganti oleh label sistem tertentu yang lebih tepat untuk perintah pada
perangkat.
Jenis
Jenis perintah mengacu pada tujuan penggunaan perintah. Hal
ini praktis digunakan oleh perangkat untuk menyajikan perintah pada
tempat yang layak sesuai dengan antarmuka pengguna perangkat. Penempatan perintah pada tombol lunak kiri atau tombol lunak yang tepat tergantung pada jenis dari perintah.
The 8 berikut jenis perintah yang ada:
·
KEMBALI public int static final
·
int akhir public static BATAL
·
EXIT public int static final
·
BANTUAN public int static final
·
ITEM public int static final
·
OK public int static final
·
LAYAR public int static final
·
UNREG public int static final
Prioritas
Nilai Prioritas digunakan untuk menggambarkan pentingnya perintah relatif terhadap perintah lain pada layar yang sama. Sejumlah rendah menunjukkan kepentingan yang lebih besar. Jika dua perintah akan memiliki prioritas yang sama dan ketik maka ada pesanan tergantung pada urutan yang dikodekan.
Perintah dapat ditambahkan ke contoh dapat ditampilkan kelas atau salah satu kelas sub. Juga
setiap kelas yang ingin mendengarkan dan bereaksi terhadap peristiwa
yang dihasilkan oleh perintah harus mengimplementasikan interface
CommandListener. Antarmuka CommandListener berisi satu metode yaitu:
- commandAction (Command com, dapat ditampilkan Disp)
Contoh Kode: CommandListener (Metode - commandAction)
public void commandAction (Command com, dapat ditampilkan Disp)
{
if (== Disp Form1)
{
if (== com this.back)
{
this.parent.setDisplayable (this.list);
}
}
}
Kode ini menunjukkan contoh penerapan tindakan untuk perintah kembali Form1. Setiap kali pengguna akan menekan perintah kembali Form1 kode ini akan mengatur tampilan saat ini untuk daftar.
- Lainnya
- Jantung
Kelas
Ticker mengimplementasikan elemen antarmuka pengguna yang berisi
sepotong teks yang berjalan terus menerus di seluruh layar. Hal ini seperti elemen 'tenda' dari Hyper Mark-up Language Text (HTML). Sebagian besar perangkat menerapkannya sebagai aliran terus berjalan teks. Tapi ada beberapa perangkat yang memiliki implementasi yang mengesankan lainnya dari kelas ini.
Fitur dari kelas Ticker adalah sebagai berikut:
·
Arah ditentukan oleh pelaksanaannya. Hal ini biasanya kiri ke kanan atau sebaliknya seorang. Tapi beberapa perangkat memilikinya dari bawah ke atas atau sebaliknya sebaliknya.
·
Kecepatan bergulir ditentukan oleh pelaksanaannya.
·
Tidak ada cara bagi programmer untuk memulai atau menghentikan ticker seperti yang diinginkan.
·
Ticker
biasanya selalu bergulir terus menerus kecuali dalam beberapa kasus
untuk menghemat daya ketika perangkat tidak aktif untuk beberapa waktu.
·
Ticker yang sama dapat digunakan bersama oleh beberapa objek Layar.
Para
tickers dapat digunakan untuk mengkomunikasikan informasi penting
kepada pengguna, misalnya dapat digunakan untuk memilikinya mewakili
ticker saham pasar.
PRAKTEK TERBAIK
Tampilan dan nuansa perubahan Ticker dari perangkat ke perangkat. Misalnya
Ticker umumnya akan bergerak dari kanan ke kiri di sebagian besar
perangkat tetapi dalam SonyEricsson T610 bergerak secara vertikal tidak
horizontal.
/ *
* TickerMIDlet.java
*
* Dibuat pada tanggal 6 Januari 2004, 4:23
* /
mengimpor javax.microedition.midlet *;.
mengimpor javax.microedition.lcdui *;.
/ **
*
* @ Author SKJ
* @ Version 1.0.0
* /
TickerMIDlet kelas publik meluas javax.microedition.midlet.MIDlet
{
swasta Tampilan layar;
swasta Formulir bentuk;
swasta Ticker ticker;
swasta StringItem Sitem;
public void startApp ()
{
this.display = Display.getDisplay (ini);
/ / Inisialisasi elemen user interface
init ();
this.display.setCurrent (this.form);
}
public void init ()
{
/ / Menginisialisasi bentuk, item string dan ticker
this.form = new Form ("Form 1");
this.sItem = new StringItem ("Ticker \ n", "ABC Perusahaan
Harga Saham ");
this.form.append (this.sItem);
this.ticker = new Ticker ("ABC 42,45, BBX 32.70.09, CDS 119,3");
/ / Pengaturan ticker pada form
this.form.setTicker (ticker);
}
public void pauseApp () {
}
public void destroyApp (boolean unconditional) {
}
}
- Gambar
Kelas Gambar digunakan untuk memegang data citra grafis. Gambar terdiri dari dua jenis:
·
Abadi
Gambar berubah biasanya dapat dibuat dengan memuat data gambar dari:
o Sumber daya bundel
o File
o Jaringan
Setelah dibuat, gambar abadi tidak dapat dimodifikasi.
Obyek setelah hanya membutuhkan gambar berubah:
o Waspada
o Pilihan
o Bentuk
o ImageItem
·
Tdk tetap
Gambar-gambar ini dibuat dalam area memori di luar layar. Ini dapat dicat oleh aplikasi setelah menciptakan objek grafis tegas untuk lukisan pada mereka.
Sementara membuat game dan aplikasi grafis lainnya, baik kekal dan bisa berubah gambar yang memanfaatkan.
Tidak ada komentar:
Posting Komentar