Posts tagged ‘Eclipse’
Memakai J2ME Polish GUI
Setelah selesai melakukan konfigurasi, memakai J2ME Polish GUI sangatlah mudah. Yang perlu dilakukan adalah membuat sebuah file polish.css di lokasi direktori resource yang telah ditentukan di build.xml. Berikut ini adalah contoh sebuah MIDlet yang dibuat dengan menggunakan J2ME Polish GUI:
Berikut ini adalah isi file polish.css untuk menghasilkan output seperti gambar di atas:
.menuUtama {
background {
type: snowflakes;
color: #cccccc;
flake-color: white;
max-flake-size: 20;
number-of-flakes: 50;
}
layout: horizontal-expand | horizontal-center | vertical-center;
}
.pilihanMenu {
layout: expand | center;
font {
face: proportional;
size: large;
color: black;
}
}
.pilihanMenu:hover {
layout: expand | center;
font {
size: large;
color: #dddddd;
}
background {
type: pulsating;
start-color: #333333;
end-color: #cccccc;
back-and-forth: true;
repeat: true;
}
}
title {
background {
type: web20;
color: #aaaaaa;
circle-color: #cccccc;
circle-anchor: bottom;
}
font {
face: proportional;
size: large;
color: #333333;
}
text-effect: drop-shadow;
layout: expand | center;
}
menu {
background {
type: horizontal-stripes;
first-top-color: #aaaaaa;
second-top-color: #777777;
first-bottom-color: #dddddd;
second-bottom-color: #aaaaaa;
}
}
leftcommand {
text-effect: shadow;
text-shadow-color: #cccccc;
}
Isi MIDlet-nya sendiri sangatlah sederhana, dengan kode program yang sangat familiar bagi yang sudah terbiasa memakai LCDUI:
package co.id.jocki.latihan;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.List;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
public class LatihanMIDlet extends MIDlet {
private Display display;
private List lstMenuUtama;
public LatihanMIDlet() {
display = Display.getDisplay(this);
//#style menuUtama
lstMenuUtama = new List("The Solid Snake", List.IMPLICIT);
//#style pilihanMenu
lstMenuUtama.append("New Game", null);
//#style pilihanMenu
lstMenuUtama.append("Load Game", null);
//#style pilihanMenu
lstMenuUtama.append("Options", null);
//#style pilihanMenu
lstMenuUtama.append("Exit", null);
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
}
protected void pauseApp() {
}
protected void startApp() throws MIDletStateChangeException {
display.setCurrent(lstMenuUtama);
}
}
Yang membedakan hanyalah terdapat preprocessor #style (dalam bentuk comment) yang hanya akan dimengerti oleh J2ME Polish GUI, dan akan dipakai untuk melakukan translasi kode program nantinya.
Artikel ini juga dilengkapi dengan sebuah video tutorial yang dapat dilihat di sini.
Eclipse: Membuat Aplikasi JEE
Aplikasi JEE yang aku maksud disini adalah aplikasi yang di-deploy dalam bentuk file EAR. Ada banyak cara yang dapat ditempuh dalam membuat program JEE, seperti melalui Ant script. Yang akan aku coba disini adalah cara yang paling otomatis dan paling ter-integrasi dengan Eclipse + plugin JST (J2EE Standard Tool) dan WST (Web Standard Tool). Kedua plug-in tersebut adalah plug-in dasar yang membentuk “Eclipse for JEE”. Jika aku hanya memiliki Eclipse JDT (Java Development Tool), versi standar untuk JSE, aku tetap bisa men-coding program JEE, tentunya harus deploy dengan cara manual: Ant script; serta tanpa syntax highlighting dan editor khusus untuk komponen JEE. Lagipula, semua terserah ke cara yang paling disukai individu masing-masing, mungkin saja ada programmer yang suka men-coding EJB di notepad/vim, men-jar manual, men-deploy (baca: men-copy) dengan mengetik di command prompt, dst… Banyak cara untuk menempuh tujuan; yang membedakan hanya seberapa rumitnya (tingkat kerennya) dan seberapa letihnya
Tentunya, jika seseorang memilih cara yang paling efisien, ia dapat meningkatkan produktifitasnya dan dapat pulang lebih awal (seharusnya?).
Langkah pertama yang aku lakukan agar pengembangan aplikasi di JEE bisa lebih terintegrasi dengan Eclipse adalah mendefinisikan sebuah server. Caranya adalah dengan berpindah ke perspective “Java EE” (hanya ada jika meng-install plugin WST). Lalu, aku memilih menu “Window“, “Show View“, dan memilih “Servers“. Pada window “Servers” yang muncul, aku men-klik kanan mouse, memilih menu “New“, “Server“. Lalu akan muncul dialog “New Server“. Langkah pertama adalah memilih server JEE. Karena aku memakai JBoss 5, aku memilih “JBoss v5.0“. Setelah itu aku dapat memberi nama pada server, menambah server runtime environment dengan men-klik link “Add…” (dimana aku dapat memilih JRE yang dipakai, dan lokasi instalasi JBoss). Pada halaman berikutnya, aku dapat men-konfigurasi alamat server JBoss, port yang dipakai, dan server configuration yang dipakai (misalnya: default, all, minimal, dsb).
Untuk menguji apakah server JBoss dapat dijalankan, aku men-klik kanan pada nama server yang barusan aku definisikan, lalu memilih menu “Start“. Eclipse akan segera menjalankan run.jar milik JBoss, sama seperti yang dilakukan oleh run.bat saat aku menjalankan JBoss di command prompt. Aku cukup terkejut saat sesaat kemudian, console Eclipse memunculkan banyak pesan kesalahan dan server JBoss gagal dijalankan! Kenapa bisa begitu? Aku men-double click nama server di window “Server” sehingga muncul editor baru di workbench Eclipse. Lalu aku memilih link “Open launch configuration“. Disini aku dapat mengatur pengaturan classpath dan parameter yang di-pass ke JVM saat Eclipse menjalankan run.jar milik JBoss. Aku membandingkan parameter yang ada disini, dengan parameter yang ada di run.bat. Akhirnya aku menemukan satu perbedaan, yaitu pada parameter java.endorsed.dirs. Akupun segera menambahkan baris berikut di bagian “VM Arguments“:
-Djava.endorsed.dirs="C:\jboss-5.0.0.GA\lib\endorsed"
Dimana, “C:\jboss-5.0.0.GA” adalah direktori yang berisi instalasi JBoss. Setelah men-klik tombol “OK”, aku menjalankan ulang server JBoss. Kali ini server dapat dijalankan dengan mulus tanpa masalah. Well done! Sekarang aku dapat menjalankan (dengan “Start“), mematikan (dengan “Stop“), dan mendebug (dengan “Debug“) server JBoss langsung dari dalam Eclipse.
Berikutnya, aku dapat membuat sebuah project EAR dengan memilih menu “File“, “New“, “Enterprise Application Project“. Pada window “New EAR Application Project” yang muncul, aku dapat mengisi nama project, menentukan server JEE yang dipakai (btw, aku tidak dapat memakai Tomcat karena Tomcat tidak mendukung EAR), dan menentukan EAR version. Setelah itu pada halaman berikutnya, aku dapat menentukan module apa saja yang dimiliki oleh project ini. Pilihannya ada empat, yaitu “Application client module” (untuk aplikasi client seperti applet atau swing yang mengakses layanan JEE nantinya), “EJB module“, “Web module“, dan “Connector module“. P.S: Tomcat disebut tidak mendukung JEE secara penuh, karena ia hanya mendukung “Web module” yang outputnya berupa file WAR. Setelah men-klik tombol “Finish“, aku akan mendapatkan lebih dari satu project! Ada sebuah EAR project, dan sisanya adalah project yang berisi facet module untuk EAR project tersebut.
Langkah berikutnya adalah membuat Eclipse secara otomatis men-deploy aplikasi EAR ke server JBoss. Aku kembali membuka window “Servers” dan men-klik kanan pada server JBoss, kemudian memilih menu “Add and Remove…” Pada bagian “Available“, aku memilih EAR project yang barusan aku buat, kemudian men-klik tombol “Add >“. Setelah men-klik “Finish“, aku kembali menjalankan server JBoss. Kali ini, sebelum program JBoss dipanggil, Eclipse akan men-build file EAR terlebih dahulu, kemudian men-copy file tersebut ke folder “deploy” milik JBoss. Semuanya berlangsung secara otomatis!
Sebuah project JEE telah ter-setup dengan baik. Aku tinggal memulai proses development dengan men-koding pada setiap module yang merupakan facet dari EAR project. Misalnya, jika aku sebelumnya memilih “Web module“, aku dapat mulai dengan menambahkan file JSP di folder “WebContent” di module project tersebut. Aku dapat langsung memanggil JSP tersebut dari browser tanpa harus me-restart server, karena Eclipse akan mendeteksi perubahan setiap selang waktu tertentu dan secara otomatis men-deploy EAR yang baru. Proses development pun bisa berlangsung nyaman dan mudah, setidaknya seharusnya begitu
Eclipse: Gratis dan Lengkap
Pengalamanku dalam dunia pemograman Java dilihat dari sisi IDE, dapat dibilang masih kurang. Aku pertama kali menyentuh Java saat masih kuliah. Saat itu aku memakai IDE native untuk Windows yang bernama JCreator. Menurut seorang staf kampus, JCreator dipakai karena sederhana dan tidak boros sumber daya PC. Lalu sewaktu mulai kerja setahun yang lalu di bulan yang sama (November), aku berkenalan dengan salah satu IDE Java komersial yang dianggap sangat handal oleh kebanyakan orang. Sungguh beda jauh dengan IDE pertama yang pernah aku lihat.
Setelah beberapa bulan sejak sistem di komputer-ku memulai hidup baru, aku mulai mencari-cari IDE Java yang bisa dipakai di rumah. Soalnya, selama ini aku menggunakan command prompt dan notepad untuk kompilasi program. Sungguh ribet sekali untuk pengaturan CLASSPATH dan harus sering-sering melihat JavaDocs. Hampir tidak mungkin aku bisa belajar dengan efektif dan efisien jika harus hidup tanpa IDE.
Pilihanku jatuh pada IDE Java Eclipse yang open source. Setelah selesai download dan ekstrak, aku memastikan Eclipse jalan dengan JVM 6 melalui argumen “vm”. Soalnya Oracle 10g yang terinstall di sistem operasi yang sama dilengkapi dengan Java 1.4 dan aku mau masing-masing program tetap memakai ‘Java’ mereka masing-masing.
Setelah menghabiskan waktu beberapa jam untuk mencoba IDE ini, aku dapat menyimpulkan kalau IDE Eclipse tidak kalah dengan IDE komersial yang biasa aku pakai di tempatku bekerja. Hanya saja ia sedikit kurang user-friendy dan tampilannya kurang hiasan
Fitur yang biasa aku pakai untuk mencari file dan class di project juga ada di Eclipse, masing-masing diwakili oleh shortcut CTRL+SHIFT+O dan CTRL+SHIFT+T. Aku juga tetap dapat mencari class yang meng-implementasi-kan interface yang sedang aku edit dengan shortcut CRTL+T. Masih ada quick outline view dengan shortcut CTRL+O, sangat berguna untuk navigasi antara method di file Java yang mengandung sangat banyak baris.
Fitur ‘Local History’ yang sangat berguna untuk menyelamatkan diri dari kesalahan ‘sendiri’ juga tetap ada di Eclipse, dan dapat diakses dengan klik kanan di editor, dan pilih salah satu submenu dari menu ‘Local History’. Fitur ‘Compare’ di Eclipse pada awalnya terlihat sangat kekurangan ‘warna’, tapi aku yakin tidak sulit untuk beradaptasi dengannya
Salah satu yang aku suka dari Eclipse, yang tidak ada pada IDE yang aku pergunakan di tempat kerja, adalah Scrapbook Page. Seperti halnya seseorang yang mengerjakan soal matematika perlu buku corat-coret, kadang-kadang sebagai programmer, aku perlu mencoba potongan kode sederhana sebelum aku men-compile dan menjalankan program. Untuk memakai Scrapbook Page, aku dapat meng-klik kanan pada project, dan memilih menu New, Other, Java Run/Debug, Scrapbook Page. Setelah itu aku harus memberi nama file dan men-klik tombol ‘Finish’. Scrapbook Page di Eclipse memungkinkan aku untuk mengetik kode sederhana, seperti:
return new
java.math.BigDecimal("100.00").multiply(
java.math.BigDecimal.TEN);
Lalu aku bisa melihat hasil eksekusi-nya cukup dengan memilih baris yang aku ketik tersebut dan menekan tombol “Display Result of Evaluationg Selected Text” di toolbar.
Tentu saja ada beberapa fitur yang tidak aku temukan di Eclipse tetapi ada di IDE komersial yang biasa aku pergunakan, seperti “search or replace structrully”, dimana aku bisa mencari dan mengganti kode berdasarkan pola pemograman Java yang aku tentukan. Akibatnya aku tidak bisa dengan mudah lagi mengubah seluruh “if (condition) { statement }” menjadi hanya “statement”. Aku juga tidak bisa bernavigasi antar kode yang memakai definisi resource bundle dan file resource-nya lagi dengan hanya sekali klik saja.
Ini hanya kesan setelah mencoba beberapa jam saja, dan aku yakin Eclipse akan cukup untuk pemakaian sehari-hari di rumah
Selain itu, aku dengar Eclipse punya banyak plug-in yang bisa menutupi kelemahannya. Well, semoga pilihanku tidak salah
