J2ME (Java 2 Micro Edition) adalah satu set spesifikasi dan teknologi yang fokus kepada perangkat konsumen. Perangkat ini memiliki jumlah memori yang terbatas, menghabiskan sedikit daya dari baterei. layar yang kecil dan bandwith jaringan yang rendah.
Dengan perkembangbiakan perangkat mobile konsumer dari telepon, PDA, kotak permainan ke peralatan-peralatan rumah, Java menyediakan suatu lingkungan yang portable untuk mengembangkan dan menjalankan aplikasi pada perangkat ini.
Berikut ini merupakan salah satu contoh Aplikasi memasukkan gambar, teks dan suara di J2ME dengan Netbeans.
import java.io.IOException;
import java.util.Date;
import javax.microedition.lcdui.*;
import javax.microedition.media.Manager;
import javax.microedition.media.MediaException;
import javax.microedition.media.Player;
import javax.microedition.midlet.MIDlet;
public class FormUtama extends MIDlet implements CommandListener { // membuat variable untuk dipakai nanti
private List menuUtama, lists; // membuat variable list menu
private Form formGambar, formTeks, formSuara, formAbout; // membuat variable form
private Image gambar1, gambar2, gambar3, gambar4; // membuat variable gambar
private Image gambari1, gambari2, gambari3, gambari4, gambari5, gambari6; // membuat variable gambar untuk icon pada list menu
private Player player; // membuat variable pemutar musik
private TextField tfTeks; // membuat variable textfield
private StringItem siTeks, siAbout; // membuat variable stringitem
private DateField tanggal; // membuat variable tanggal
private Command cmProccess, cmBack, cmPlay, cmStop; // membuat variable command
private Display display; // membuat variable untuk menampilkan form
private Ticker ticker; // membuat variable untuk menampilkan teks bergerak pada layar
public void gambar() { // membuat method baru untuk menampilkan gambar ke 1
try {
gambar1 = Image.createImage("/picture/unkris.jpg"); // menampilkan gambar unkris.jpg dari folder picture
} catch (Exception e) {
}
}
public void fmGambar() { // membuat method untuk menampilkan form gambar
formGambar = new Form("Form Untuk Menampilkan Gambar"); // membuat form gambar dan memberi title
gambar(); // memanggil method gambar
formGambar.append(gambar1); // menambahkan gambar1 pada form gambar
formGambar.addCommand(cmBack); // menambahkan command back pada form gambar
formGambar.setCommandListener(this); // menampilkan semua command pada form gambar
display.setCurrent(formGambar); // menampilkan form gambar
}
public void playSound() { // membuat method untuk memainkan suara
try {
player = Manager.createPlayer(getClass().getResourceAsStream("/audio/unfaithful.mid"), "audio/midi");
player.realize();
player.start();
} catch (IOException ex) {
} catch (MediaException ex) {
}
}
public void stopSound() { // membuat method untuk menghentikan suara
if (player != null) {
player.close();
player = null;
}
}
public void GambarSuara() { // membuat method gambar untuk ditampilkan di form suara
try {
gambar2 = Image.createImage("/picture/ri.jpg");
} catch (Exception e) {
}
}
public void fmSuara() { // membuat method untuk menampilkan form suara
formSuara = new Form("Form Untuk Menampilkan Suara"); // membuat form suara dan memberi title
playSound(); // memanggil method playSound()
GambarSuara(); // memanggil method GambarSuara()
formSuara.append(gambar2); // menambahkan gambar2 ke form suara
formSuara.addCommand(cmPlay); // menambahkan command ke form suara
formSuara.addCommand(cmStop);
formSuara.addCommand(cmBack);
formSuara.setCommandListener(this); // menampilkan semua command pada form gambar
display.setCurrent(formSuara); // menampilkan form suara
}
public void GambarTeks() {
try {
gambar3 = Image.createImage("/picture/logounkris.png");
} catch (Exception e) {
}
}
public void fmTeks() { // membuat method form teks
formTeks = new Form("Form Untuk Menampilkan Teks"); // membuat form teks dan memberi title
tfTeks = new TextField("Coba Input Teks : ", "", 30, TextField.ANY); // membuat textfield input teks
GambarTeks(); // memanggil metod dari GambarTeks
siTeks = new StringItem("Hasil Input Teks : ", null); // untuk hasil output teks
Gauge IntGauge = new Gauge("Input Teks dan tekan Proccess \t", false,
Gauge.INDEFINITE, Gauge.CONTINUOUS_RUNNING); // membuat tampilan gambar loading
tanggal = new DateField("Tanggal Hari Ini : ", DateField.DATE_TIME); // mengimport tanggal
tanggal.setDate(new Date());
formTeks.append(gambar3); // menambahkan gambar pada form Inteks
formTeks.append(tanggal); // menambahkan tanggal pada form teks
formTeks.append(tfTeks); // menambahkan TextField pada form teks
formTeks.append(IntGauge); // menambahkan gambar loading
formTeks.append(siTeks); // menambahkan string pada form teks
formTeks.addCommand(cmProccess); // menambahkan tombol perintah proses pada form teks
formTeks.addCommand(cmBack); // menambahkan tombol perintah kembali pada form teks
formTeks.setCommandListener(this); // menampilkan semua komponen perintah tombol yang di munculkan ke dalam form teks
display.setCurrent(formTeks); // menampilkan form teks
}
public void prosesTeks() { // membuat method baru proses teks
String simpanteks; // membuat variabel string
simpanteks = tfTeks.getString(); // input TextField akan disimpan dalam variabel string
siTeks.setText(simpanteks); // variabel string item akan menampilkan hasil dari input
}
public void fmHelp() { // membuat method help
lists = new List("Petunjuk Aplikasi :", Choice.IMPLICIT); // membuat list menu help untuk ditampilkan
lists.append("1. Pilihan ke 1 untuk menampilkan Image", null);
lists.append("2. Pilihan ke 2 untuk menampilkan Teks", null);
lists.append("3. Pilihan ke 3 untuk menampilkan Sound", null);
lists.append("4. Pilihan ke 4 untuk menampilkan Help", null);
lists.append("5. Pilihan ke 5 untuk menampilkan About", null);
lists.append("6. Pilihan ke 6 untuk menampilkan Exit", null);
lists.addCommand(cmBack); // menambahkan command back ke form help
lists.setCommandListener(this);
display.setCurrent(lists); // display list form help
}
public void GambarMe() {
try {
gambar4 = Image.createImage("/picture/me.jpg");
} catch (Exception e) {
}
}
public void fmAbout() {
formAbout = new Form("About Me"); // membuat form about dan memberi title
siAbout = new StringItem("About Me :\n", "Dessy Harsy - Mahasiswa Unkris P2K Teknik Informatika - dessyharsy@gmail.com");
GambarMe();
formAbout.append(gambar4);
formAbout.append(siAbout);
formAbout.addCommand(cmBack);
formAbout.setCommandListener(this);
display.setCurrent(formAbout);
}
public void exitMidlet() { //membuat class baru exit Midlet untuk fungsi tombol exit
destroyApp(false);
notifyDestroyed();
player = null;
}
public void GambarIcon() { // membuat method untuk menampilkan icon pada menu list
try {
gambari1 = Image.createImage("/picture/pic.png"); // memasukkan gambar icon pada folder picture ke variable gambari
gambari2 = Image.createImage("/picture/biodata.png");
gambari3 = Image.createImage("/picture/playmusic.png");
gambari4 = Image.createImage("/picture/help.png");
gambari5 = Image.createImage("/picture/about.png");
gambari6 = Image.createImage("/picture/exit.png");
} catch (Exception e) {
}
}
public void startApp() {
GambarIcon();
ticker = new Ticker("Bismillah .. Selamat Datang ..");
menuUtama = new List("Menu Utama", List.IMPLICIT); // membuat list menu utama bertipe implicit
menuUtama.append("1. Form Image", gambari1); // membuat list menu beserta gambar iconnya
menuUtama.append("2. Form Input Teks", gambari2);
menuUtama.append("3. Form Audio", gambari3);
menuUtama.append("4. Form Help", gambari4);
menuUtama.append("5. Form About", gambari5);
menuUtama.append("6. Exit", gambari6);
menuUtama.setTicker(ticker); // menambahkan teks berjalan pada list menu utama
cmBack = new Command("Back", Command.BACK, 1); // membuat tombol perintah yang akan digunakan pada form
cmProccess = new Command("Proccess", Command.SCREEN, 1);
cmPlay = new Command("Play", Command.SCREEN, 1);
cmStop = new Command("Stop", Command.SCREEN, 0);
menuUtama.setCommandListener(this);
display = Display.getDisplay(this); // menampilkan display pada midlet
display.setCurrent(menuUtama);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public void commandAction(Command c, Displayable d) { // membuat fungsi perintah pada list menu utama yang akan menampilkan form yang dipilih
if (d == menuUtama) {
if (menuUtama.isSelected(0)) {
fmGambar(); // jika memilih ini maka akan tampil form Gambar
}
if (menuUtama.isSelected(1)) {
fmTeks(); // jika memilih ini maka akan tampil form Teks
}
if (menuUtama.isSelected(2)) {
fmSuara(); // jika memilih ini maka akan tampil form Suara
}
if (menuUtama.isSelected(3)) {
fmHelp(); // jika memilih ini maka akan tampil list menu help
}
if (menuUtama.isSelected(4)) {
fmAbout(); // jika memilih ini maka akan tampil form About
}
if (menuUtama.isSelected(5)) {
exitMidlet(); // jika memilih ini maka akan keluar dari aplikasi
}
} else if (c == cmBack) { // fungsi command kembali
display.setCurrent(menuUtama);
} else if (c == cmStop) { // fungsi command berhenti
stopSound();
} else if (c == cmPlay) { // fungsi command play
playSound();
} else if (c == cmProccess) { // fungsi command proses
prosesTeks();
}
}
}
import java.io.IOException;
import java.util.Date;
import javax.microedition.lcdui.*;
import javax.microedition.media.Manager;
import javax.microedition.media.MediaException;
import javax.microedition.media.Player;
import javax.microedition.midlet.MIDlet;
public class FormUtama extends MIDlet implements CommandListener { // membuat variable untuk dipakai nanti
private List menuUtama, lists; // membuat variable list menu
private Form formGambar, formTeks, formSuara, formAbout; // membuat variable form
private Image gambar1, gambar2, gambar3, gambar4; // membuat variable gambar
private Image gambari1, gambari2, gambari3, gambari4, gambari5, gambari6; // membuat variable gambar untuk icon pada list menu
private Player player; // membuat variable pemutar musik
private TextField tfTeks; // membuat variable textfield
private StringItem siTeks, siAbout; // membuat variable stringitem
private DateField tanggal; // membuat variable tanggal
private Command cmProccess, cmBack, cmPlay, cmStop; // membuat variable command
private Display display; // membuat variable untuk menampilkan form
private Ticker ticker; // membuat variable untuk menampilkan teks bergerak pada layar
public void gambar() { // membuat method baru untuk menampilkan gambar ke 1
try {
gambar1 = Image.createImage("/picture/unkris.jpg"); // menampilkan gambar unkris.jpg dari folder picture
} catch (Exception e) {
}
}
public void fmGambar() { // membuat method untuk menampilkan form gambar
formGambar = new Form("Form Untuk Menampilkan Gambar"); // membuat form gambar dan memberi title
gambar(); // memanggil method gambar
formGambar.append(gambar1); // menambahkan gambar1 pada form gambar
formGambar.addCommand(cmBack); // menambahkan command back pada form gambar
formGambar.setCommandListener(this); // menampilkan semua command pada form gambar
display.setCurrent(formGambar); // menampilkan form gambar
}
public void playSound() { // membuat method untuk memainkan suara
try {
player = Manager.createPlayer(getClass().getResourceAsStream("/audio/unfaithful.mid"), "audio/midi");
player.realize();
player.start();
} catch (IOException ex) {
} catch (MediaException ex) {
}
}
public void stopSound() { // membuat method untuk menghentikan suara
if (player != null) {
player.close();
player = null;
}
}
public void GambarSuara() { // membuat method gambar untuk ditampilkan di form suara
try {
gambar2 = Image.createImage("/picture/ri.jpg");
} catch (Exception e) {
}
}
public void fmSuara() { // membuat method untuk menampilkan form suara
formSuara = new Form("Form Untuk Menampilkan Suara"); // membuat form suara dan memberi title
playSound(); // memanggil method playSound()
GambarSuara(); // memanggil method GambarSuara()
formSuara.append(gambar2); // menambahkan gambar2 ke form suara
formSuara.addCommand(cmPlay); // menambahkan command ke form suara
formSuara.addCommand(cmStop);
formSuara.addCommand(cmBack);
formSuara.setCommandListener(this); // menampilkan semua command pada form gambar
display.setCurrent(formSuara); // menampilkan form suara
}
public void GambarTeks() {
try {
gambar3 = Image.createImage("/picture/logounkris.png");
} catch (Exception e) {
}
}
public void fmTeks() { // membuat method form teks
formTeks = new Form("Form Untuk Menampilkan Teks"); // membuat form teks dan memberi title
tfTeks = new TextField("Coba Input Teks : ", "", 30, TextField.ANY); // membuat textfield input teks
GambarTeks(); // memanggil metod dari GambarTeks
siTeks = new StringItem("Hasil Input Teks : ", null); // untuk hasil output teks
Gauge IntGauge = new Gauge("Input Teks dan tekan Proccess \t", false,
Gauge.INDEFINITE, Gauge.CONTINUOUS_RUNNING); // membuat tampilan gambar loading
tanggal = new DateField("Tanggal Hari Ini : ", DateField.DATE_TIME); // mengimport tanggal
tanggal.setDate(new Date());
formTeks.append(gambar3); // menambahkan gambar pada form Inteks
formTeks.append(tanggal); // menambahkan tanggal pada form teks
formTeks.append(tfTeks); // menambahkan TextField pada form teks
formTeks.append(IntGauge); // menambahkan gambar loading
formTeks.append(siTeks); // menambahkan string pada form teks
formTeks.addCommand(cmProccess); // menambahkan tombol perintah proses pada form teks
formTeks.addCommand(cmBack); // menambahkan tombol perintah kembali pada form teks
formTeks.setCommandListener(this); // menampilkan semua komponen perintah tombol yang di munculkan ke dalam form teks
display.setCurrent(formTeks); // menampilkan form teks
}
public void prosesTeks() { // membuat method baru proses teks
String simpanteks; // membuat variabel string
simpanteks = tfTeks.getString(); // input TextField akan disimpan dalam variabel string
siTeks.setText(simpanteks); // variabel string item akan menampilkan hasil dari input
}
public void fmHelp() { // membuat method help
lists = new List("Petunjuk Aplikasi :", Choice.IMPLICIT); // membuat list menu help untuk ditampilkan
lists.append("1. Pilihan ke 1 untuk menampilkan Image", null);
lists.append("2. Pilihan ke 2 untuk menampilkan Teks", null);
lists.append("3. Pilihan ke 3 untuk menampilkan Sound", null);
lists.append("4. Pilihan ke 4 untuk menampilkan Help", null);
lists.append("5. Pilihan ke 5 untuk menampilkan About", null);
lists.append("6. Pilihan ke 6 untuk menampilkan Exit", null);
lists.addCommand(cmBack); // menambahkan command back ke form help
lists.setCommandListener(this);
display.setCurrent(lists); // display list form help
}
public void GambarMe() {
try {
gambar4 = Image.createImage("/picture/me.jpg");
} catch (Exception e) {
}
}
public void fmAbout() {
formAbout = new Form("About Me"); // membuat form about dan memberi title
siAbout = new StringItem("About Me :\n", "Dessy Harsy - Mahasiswa Unkris P2K Teknik Informatika - dessyharsy@gmail.com");
GambarMe();
formAbout.append(gambar4);
formAbout.append(siAbout);
formAbout.addCommand(cmBack);
formAbout.setCommandListener(this);
display.setCurrent(formAbout);
}
public void exitMidlet() { //membuat class baru exit Midlet untuk fungsi tombol exit
destroyApp(false);
notifyDestroyed();
player = null;
}
public void GambarIcon() { // membuat method untuk menampilkan icon pada menu list
try {
gambari1 = Image.createImage("/picture/pic.png"); // memasukkan gambar icon pada folder picture ke variable gambari
gambari2 = Image.createImage("/picture/biodata.png");
gambari3 = Image.createImage("/picture/playmusic.png");
gambari4 = Image.createImage("/picture/help.png");
gambari5 = Image.createImage("/picture/about.png");
gambari6 = Image.createImage("/picture/exit.png");
} catch (Exception e) {
}
}
public void startApp() {
GambarIcon();
ticker = new Ticker("Bismillah .. Selamat Datang ..");
menuUtama = new List("Menu Utama", List.IMPLICIT); // membuat list menu utama bertipe implicit
menuUtama.append("1. Form Image", gambari1); // membuat list menu beserta gambar iconnya
menuUtama.append("2. Form Input Teks", gambari2);
menuUtama.append("3. Form Audio", gambari3);
menuUtama.append("4. Form Help", gambari4);
menuUtama.append("5. Form About", gambari5);
menuUtama.append("6. Exit", gambari6);
menuUtama.setTicker(ticker); // menambahkan teks berjalan pada list menu utama
cmBack = new Command("Back", Command.BACK, 1); // membuat tombol perintah yang akan digunakan pada form
cmProccess = new Command("Proccess", Command.SCREEN, 1);
cmPlay = new Command("Play", Command.SCREEN, 1);
cmStop = new Command("Stop", Command.SCREEN, 0);
menuUtama.setCommandListener(this);
display = Display.getDisplay(this); // menampilkan display pada midlet
display.setCurrent(menuUtama);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public void commandAction(Command c, Displayable d) { // membuat fungsi perintah pada list menu utama yang akan menampilkan form yang dipilih
if (d == menuUtama) {
if (menuUtama.isSelected(0)) {
fmGambar(); // jika memilih ini maka akan tampil form Gambar
}
if (menuUtama.isSelected(1)) {
fmTeks(); // jika memilih ini maka akan tampil form Teks
}
if (menuUtama.isSelected(2)) {
fmSuara(); // jika memilih ini maka akan tampil form Suara
}
if (menuUtama.isSelected(3)) {
fmHelp(); // jika memilih ini maka akan tampil list menu help
}
if (menuUtama.isSelected(4)) {
fmAbout(); // jika memilih ini maka akan tampil form About
}
if (menuUtama.isSelected(5)) {
exitMidlet(); // jika memilih ini maka akan keluar dari aplikasi
}
} else if (c == cmBack) { // fungsi command kembali
display.setCurrent(menuUtama);
} else if (c == cmStop) { // fungsi command berhenti
stopSound();
} else if (c == cmPlay) { // fungsi command play
playSound();
} else if (c == cmProccess) { // fungsi command proses
prosesTeks();
}
}
}
