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