Ini merupakan Praktikum Pemrograman Visual, mengenai J2ME. Membuat JAVA MIDlet dengan 3 Class berbeda namun mempunyai satu Induk: OK Kita Langsung saja
CLASS UTAMA
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
/** @author Fer*/
//Merupakan class utama yang didalamnya juga terdapat beberapa constructor turunan
//terutama dari MIDle dan Command Listener
public class Praktikum extends MIDlet implements CommandListener {
//Mengimport Form dari class yang berbeda, total ada 3 class dengan induk, dan 1
//Textbox yang diletakan langsung dikelas induk
private Formmasuk data;
private Formkeluar show1;
private TextBox show2;
private Command Keluar;
private Command Tampil1;
private Command Tampil2;
private Command Kembali;
public void startApp() {
//Kondisi untuk mengantisipasi ketika program berjalan, ada telepon.
//data yang telah diinput tidak akan hilang
if (data == null)
data = new Formmasuk();
if (show1 == null)
show1 = new Formkeluar();
show2 = new TextBox("Output","",255,TextField.ANY);
//Untuk mendifinisikan Command yang akan digunakan
Tampil1 = new Command("Tampil", Command.SCREEN, 0 );
Tampil2 = new Command("Tampil MOde TB", Command.SCREEN, 1 );
Kembali = new Command("Kembali", Command.BACK, 0 );
Keluar = new Command("Keluar", Command.EXIT, 0 );
//Meng add command yang dibutuhkan oleh setiap form dan textbox
data.addCommand(Tampil1);
data.addCommand(Tampil2);
data.addCommand(Keluar);
show1.addCommand(Kembali);
show2.addCommand(Kembali);
data.setCommandListener(this);
show1.setCommandListener(this);
show2.setCommandListener(this);
//Memberi perintah bahwa yang akan tampil pertama adalah Form data
Display.getDisplay(this).setCurrent(data);
}
import javax.microedition.midlet.*;
/** @author Fer*/
//Merupakan class utama yang didalamnya juga terdapat beberapa constructor turunan
//terutama dari MIDle dan Command Listener
public class Praktikum extends MIDlet implements CommandListener {
//Mengimport Form dari class yang berbeda, total ada 3 class dengan induk, dan 1
//Textbox yang diletakan langsung dikelas induk
private Formmasuk data;
private Formkeluar show1;
private TextBox show2;
private Command Keluar;
private Command Tampil1;
private Command Tampil2;
private Command Kembali;
public void startApp() {
//Kondisi untuk mengantisipasi ketika program berjalan, ada telepon.
//data yang telah diinput tidak akan hilang
if (data == null)
data = new Formmasuk();
if (show1 == null)
show1 = new Formkeluar();
show2 = new TextBox("Output","",255,TextField.ANY);
//Untuk mendifinisikan Command yang akan digunakan
Tampil1 = new Command("Tampil", Command.SCREEN, 0 );
Tampil2 = new Command("Tampil MOde TB", Command.SCREEN, 1 );
Kembali = new Command("Kembali", Command.BACK, 0 );
Keluar = new Command("Keluar", Command.EXIT, 0 );
//Meng add command yang dibutuhkan oleh setiap form dan textbox
data.addCommand(Tampil1);
data.addCommand(Tampil2);
data.addCommand(Keluar);
show1.addCommand(Kembali);
show2.addCommand(Kembali);
data.setCommandListener(this);
show1.setCommandListener(this);
show2.setCommandListener(this);
//Memberi perintah bahwa yang akan tampil pertama adalah Form data
Display.getDisplay(this).setCurrent(data);
}
Program diatas mendeklarasikan Class Utama, disertai pula Import Komponen/turuna yang dibutuhkan.
Pada START APP terdapat Program Kondisi, hal tersebut berguna untuk mengantisipasi bila ada telepon sewaktu waktu ketika program berjalan
Pada Program diatas, juga terdapat pendeklarasian TextBox, yang digunakan sebabai alternatif OUTPUT selain Form
public void commandAction(Command c, Displayable d) {
//Untuk mengaktifkan command yang dibutuhkan dengan kondisi yang dinginkan
//disini terdapat kondisi jika yang tampil screen atau yang ditekan tombol command
if (d == data) {
if (c == Keluar) {
//Untuk keluar dari apps
destroyApp(true);
notifyDestroyed();
}
if (c == Tampil1) {
//Untuk mendapatkan kata yang diinputkan user untuk ditampilkan pada form
show1.setNama(data.getNama());
show1.setEmail(data.getEmail());
Display.getDisplay(this).setCurrent(show1);
}
if (c == Tampil2){
//Mengimport hasil input dari form datadan ditampilkan ke Textbox
show2.setString(data.getNama()+"\n"+data.getEmail());
Display.getDisplay(this).setCurrent(show2);
}
}
if (d == show1) {
if ( c == Kembali) {
Display.getDisplay(this).setCurrent(data);
}
}
if (d == show2){
if(c == Kembali){
Display.getDisplay(this).setCurrent(data);
}
}
}
//Untuk mengaktifkan command yang dibutuhkan dengan kondisi yang dinginkan
//disini terdapat kondisi jika yang tampil screen atau yang ditekan tombol command
if (d == data) {
if (c == Keluar) {
//Untuk keluar dari apps
destroyApp(true);
notifyDestroyed();
}
if (c == Tampil1) {
//Untuk mendapatkan kata yang diinputkan user untuk ditampilkan pada form
show1.setNama(data.getNama());
show1.setEmail(data.getEmail());
Display.getDisplay(this).setCurrent(show1);
}
if (c == Tampil2){
//Mengimport hasil input dari form datadan ditampilkan ke Textbox
show2.setString(data.getNama()+"\n"+data.getEmail());
Display.getDisplay(this).setCurrent(show2);
}
}
if (d == show1) {
if ( c == Kembali) {
Display.getDisplay(this).setCurrent(data);
}
}
if (d == show2){
if(c == Kembali){
Display.getDisplay(this).setCurrent(data);
}
}
}
Command Action untuk mengeksekusi Command, sesuai dengan Screen dan command yang ditekan
CLASS KEDUA:
import javax.microedition.lcdui.*;
/* @author Fer*/
//Class turunan dari form, merupakan class yang induknya ada pada class praktikum
public class Formmasuk extends Form {
private TextField nama, email;
//Constructor
Formmasuk() {
//Merupakan inheritance atau pewarisan dari class sebelumnya
//dalam hal ini ada pada class praktikum
super("Input Data");
nama = new TextField("Nama Anda", null, 20, TextField.ANY);
email = new TextField("Email", null, 20, TextField.EMAILADDR);
append(nama);
append(email);
}
//fungsi geeter digunkan untuk mendapatkan apa yang telah diinputlkan
public String getNama() {
return nama.getString();
}
public String getEmail() {
return email.getString();
}
}
/* @author Fer*/
//Class turunan dari form, merupakan class yang induknya ada pada class praktikum
public class Formmasuk extends Form {
private TextField nama, email;
//Constructor
Formmasuk() {
//Merupakan inheritance atau pewarisan dari class sebelumnya
//dalam hal ini ada pada class praktikum
super("Input Data");
nama = new TextField("Nama Anda", null, 20, TextField.ANY);
email = new TextField("Email", null, 20, TextField.EMAILADDR);
append(nama);
append(email);
}
//fungsi geeter digunkan untuk mendapatkan apa yang telah diinputlkan
public String getNama() {
return nama.getString();
}
public String getEmail() {
return email.getString();
}
}
Class Kedua Ini Digunakan untuk mendeklarasikan Form, Form Pengisian Biodata Diri..
CLASS KETIGA
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.StringItem;
/* @author Fer*/
//merupakan turunan dari form, dengan induk berada diclass praktikum
public class Formkeluar extends Form {
private StringItem aturnama, aturEmail;
//COnstrucor
public Formkeluar() {
//merupakan sebuah inheritance / pewarisan
super("Tampil Form");
aturnama = new StringItem("Nama:", null);
aturEmail = new StringItem("Email", null);
append(aturnama);
append(aturEmail);
}
//Fungsi setter digunakan untuk menampilkan apa yang akan ditampilkan
//pengendali ada di class pusat
public void setNama(String nama) {
aturnama.setText(nama);
}
public void setEmail(String email) {
aturEmail.setText(email);
}
}
import javax.microedition.lcdui.StringItem;
/* @author Fer*/
//merupakan turunan dari form, dengan induk berada diclass praktikum
public class Formkeluar extends Form {
private StringItem aturnama, aturEmail;
//COnstrucor
public Formkeluar() {
//merupakan sebuah inheritance / pewarisan
super("Tampil Form");
aturnama = new StringItem("Nama:", null);
aturEmail = new StringItem("Email", null);
append(aturnama);
append(aturEmail);
}
//Fungsi setter digunakan untuk menampilkan apa yang akan ditampilkan
//pengendali ada di class pusat
public void setNama(String nama) {
aturnama.setText(nama);
}
public void setEmail(String email) {
aturEmail.setText(email);
}
}
Untuk mendeklarasikan Form Output, Yang diimpor dari Formdata. disini Kita menggunakan Class turunan dari Class Pusat, dan juga meng extends Form
Untuk Link Download program Secara Lengkap : Klick Disini
mantab gan, request konversi suhu yg midlet...
BalasHapushehe
assssssssssssseeeeeeekkkk,,,
BalasHapusasek gan...
BalasHapuswkwkwk.. ok, untuk konversi suhu menyusul gan,, ok trims
BalasHapusok gan,,
BalasHapusq selalu mendukung blog ini supaya tambah maju. . .
ckckckckckckck
Wah keren buat pembelajaran pemula dalam belajar koding untuk aplikasi mobile
BalasHapusterkait dengan penerapan J2ME, bisa diunduh artikel berikut http://repository.gunadarma.ac.id/bitstream/123456789/1219/1/17110075.pdf
BalasHapus