Semua pasti udah tau font, Sebuah font digunakan pada antarmuka pemakai (user interface) level rendah. Font digunakan untuk mendefinisikan mode sebuah karakter atau string ke layar perangkat mobile. Penerapan font ini hanya dapat dilakukan di antarmuka pemakai level rendah (low level GUI) seperti pada canvas. Berikut merupakan atribut font dalam J2ME fontPertama.java canvasUtama.java
Mode (style)
Jenis (Face)
Ukuran (Size)
Metode-metode yang terdapat di library font (javax.microedition.lcdui.Font) adalah sebagai berikut
mengembalikan nilai ukuran font
mengembalikan nilai true apabila mode yang digunakan adalah plain
mengembalikan nilai true apabila mode yang digunakan adalah italic
mengembalikan nilai true apabila mode yang digunakan adalah bold
mengembalikan nilai true apabila mode yang digunakan adalah underlined
mengembalikan nilai tinggi font jika diukur dari garis dasar
mengembalikan nilai kenaikan font diukur dari garis dasar (baseline) sampai bagian atas karakter
mengembalikan nilai tinggi dari katakter tertentu
mengembalikan nilai tinggi kumpulan karakter (char[] ch) dimulai dari index (offset) sepanjang length
mengembalikan nilai tinggi string str
mengembalikan nilai tinggi sub string str dimulai dari index (offset) sepanjang length.
nah semua itu adalah metode-metode yang ada library font. Sekarang kalo yang ini untuk contoh penerapan font.
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class fontPertama extends MIDlet {
Display display;
private canvasUtama canvasutama;
public fontPertama() {
display = Display.getDisplay(this);
}
public void startApp() {
canvasutama = new canvasUtama(this, display);
display.setCurrent(canvasutama);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public void keluarMidlet() {
notifyDestroyed();
destroyApp(false);
}
}
import javax.microedition.lcdui.*;
class canvasUtama extends Canvas {
private Display display;
private fontPertama midlet;
public canvasUtama(fontPertama midlet, Display display) {
this.midlet = midlet;
this.display = display;
}
protected void paint (Graphics g) {
g.setColor (90,90,90);
g.setFont (Font.getFont (Font.FACE_SYSTEM, Font.STYLE_BOLD,Font.SIZE_SMALL));
g.drawString("Font System Bold Small",10,50,Graphics.TOP | Graphics.LEFT);
g.setColor (60,60,60);
g.setFont (Font.getFont (Font.FACE_PROPORTIONAL, Font.STYLE_ITALIC,Font.SIZE_MEDIUM));
g.drawString("Font Proportional Italic Medium",10,80,Graphics.TOP | Graphics.LEFT);
g.setColor (30,30,30);
g.setFont (Font.getFont (Font.FACE_SYSTEM, Font.STYLE_UNDERLINED,Font.SIZE_LARGE));
g.drawString("Font System Underlined Large",10,110,Graphics.TOP | Graphics.LEFT);
g.setColor (0,0,0);
g.setFont (Font.getFont (Font.FACE_MONOSPACE, Font.STYLE_PLAIN,Font.SIZE_LARGE));
g.drawString("Font Monospace Plain Large",10,140,Graphics.TOP | Graphics.LEFT);
}
protected void keyPressed(int keyCode){
if (keyCode == -5){
midlet.keluarMidlet();
}
}
}
na... itu kodenya kemudian di build ya... dan jalankan. hasilnya seperti screenshoot di bawah ini
Font
Pemrograman GUI
Fungsi-fungsi untuk pembuatan antarmuka berbasis window (GUI) yang disediakan oleh MIDP terbagi atas dua level yaitu high level dan low level. Semua untuk antarmuka berbasis window ini ditangani oleh paket javax.microedition.lcdui public static Display getDisplay(MIDlet m) public class yourMidletname extends MIDlet{ public void setCurrent(Alert x, Displayable yourScreen)
kelas-kelas yang menyediakan fungsionalitas untuk pembuatan GUI pada java , MIDP ada paket javax.microedition.lcdui. Pada paket tersebut ada tiga interface dan 21 kelas.
DISPLAY
Untuk menampilkan sesuatu pada layar, misalnya tulisan, form, dan sebagainya harus mengakses display dari perangkat genggam yang dapat diakses dengan kelas javax.microedition.lcdui.Display. Kelas display merupakan kelas yang menyediakan fungsi-fungsi untuk manajemen layar pada perangkat
genggam, menampilkan objek screen dan menyediakan informasi tentang property dari perangkat genggam yang digunakan. Akses ke layar dapat diacu dengan fungsi statistik getDisplay() pada kelas Display.
Penggunaan fungsi ini umumnya dilakukan di dalam fungsi startApp() dimana sebuah MIDlet akan menjadi aktif semacam ini:
Display display = null;
public yourMidletname() {
}
public void startApp() {
display = Display.getDisplay(this);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
}
Setelah mendapatkan objek Display dengan fungsi getDisplay() tersebut, kemudian dapat menggunakan fungsi setCurrent() untuk menentukan objek screen mana yang akan ditampilkan.
Fungsi-fungsi lain dari kelas javax.midroedition.lcdui.Display adalah sebagai berikut:
SCREEN
Objek screen menyediakan fungsionalitas untuk interaksi antara pengguna (user) dengan perangkat genggam. Objek screen memiliki 4 jenis objek turunan yang umum digunakan, yaitu Text Box, Alert, List dan Form. Kelas javax.microedition.lcdui.Screen merupakan kelas abstrak dengan dua karakteristik, yaitu objek screen dapat memiliki title dan ticker.Fungsi-fungsi dalam kelas javax.microedition.lcdui.Screen yang digunakan untuk memanajemen properti title dan ticker adalah:
FORM
Form memungkinkan untuk menampilkan komponen GUI semacam daftar pilihan, input teks (text box) dalam satu layar. Form diimplementasikan oleh kelas javax.microedition.lcdui.Form. Form dapat menampung komponen2 yang disebut item dalam satu layar, yaitu item tersebut adalah text fields, images, date fields, gauge dan choice group. Item2 tersebut merupakan implementasi dari kelas turunan jacax.microedition.lcdui.Item.
Hal2 lain untuk keperluan games, akan banyak dibutuhkan fungsi2 untuk menggambar dan mengolah sesuatu yang levelnya sudah berbentuk pixel2 gambar. Paket javax.microedition.ldcui juga menyediakan fungsi2 yang memungkinkan menggambar garis, titik dan elemen2 dasar lain menggunakan kelas Canvas.
Programming J2ME di Ubuntu Hardy
wah..... hikz3...ternyata dapat juga' melakukan pemrograman J2ME di ubuntu. Emang siy.. Ubuntu telah secara default menyertakan tool untuk development java yaitu java-gcj. Tetapi yaa... tu tadi si java-gcj tu bukan kluaran dari perusahaan besar Sun Microsystem ataupun Netbeans dan mungkin apakah dia bisa digabungkan dengan J2ME Wireless Toolkit..??. Jadi jika kita ingin memiliki java untuk programming mobile dari Sun ato yang lain...install ajah... ini q kasih liat caranya.. feri@feri-desktop:~$ sudo apt-get install netbeans feri@feri-desktop:~$ ./[nama_file_binary] feri@feri-desktop:~$ sudo ./sun_java_wireless_toolkit-2_5_2-linux.bin Sun Microsystems, Inc. ("Sun") ENTITLEMENT for SOFTWARE Do you agree to the above license terms? [yes or no] No suitable Java interpreter was detected This application requires Java 2 SDK, Standard Edition (1.5 or later). Enter a path to a Java 2 SDK (For example: /user/jdk1.5/bin). You can type "exit" to cancel installation. Please enter a directory into which you would like to install the Sun Java(TM) Wireless Toolkit, 2.5.2 for CLDC. Check for Product Updates? [yes or no] no Setup has enough information to start copying the program files. Extracting the installation files... feri@feri-desktop:~$/home/feri/WTK2.5.2/bin/ktoolbar
INSTALASI JDK
sebelumnya install dulu javanya (jdk) yang dapat didownload dari www.java.sun.com. Kalo aku pake netbeans yang ku install dari dvd repositori (dari www.repo.ugm.ac.id) dengan perintah
ato kalo yang download dari java.sun.com maka tinggal diinstall dengan perintah
gitu... tunggulah sampe rampung..
INSTALASI J2ME WIRELESS TOOLKIT 2.5.2
na... setelah instalasinya rampung selanjutnya adalah dengan menginstall J2ME Wireless Toolkitnya ni langkah-langkahnya...
Licensee/Company: Entity receiving Software.
Effective Date: Date of delivery of the Software to You.
Software: Sun Java Wireless Toolkit 2.5.2 for CLDC.
License Term: Perpetual (subject to termination under the SLA).
Licensed Unit: Software Copy.
Licensed unit Count: Unlimited.
Permitted Uses:
1. You may reproduce and use the Software for Your own Individual, Commercial an
d Research and Instructional Use only for the purposes of designing, developing,
testing, and running Your and applications.
.............................
dan seterusnya jika anda ingin membaca kelanjutannya tekan enter tapi jika ingin segera melanjutkannya tekan q maka akan muncul pertanyaan seperti ini
ketikkan "yes" (tanpa tanda kutip) kemudian enter
0) Specify a path to a Java interpreter directory.
1) Cancel this installation.
Select a choice [0-1]: 0
isikan "0" kemudian tekah enter
Enter a path to the Java 2 SDK: /usr/lib/jvm/java-6-openjdk/bin
masukkan pathnya seperti itu..
[ default is /home/feri/WTK2.5.2 ]:
secara default Akan diinstall di /home/[user_login]/WTK2.5.2. Jika Anda ingin menginstall-nya disitu tinggal enter sedangkan ingin menginstal di tempat lain.. juga tinggal memasukkan pathnya....
Current Settings:
Destination Directory
/home/feri/WTK2.5.2/
JVM Folder
/usr/lib/jvm/java-6-openjdk/bin/
Check for Program Updates
Disabled
Please choose one of the following options:
0) Begin copying files if you are satisfied with the settings .
1) Cancel the installation.
Select a choice [0-1]: 0
pilihlah "0" kemudian enter untuk memulai proses instalasinya
Documentation for the Sun Java(TM) Wireless Toolkit
2.5.2 for CLDC is in the file
/home/feri/WTK2.5.2/index.html
In order to start using the Sun Java(TM) Wireless Toolkit 2.5.2 for CLDC, please run
/home/feri/WTK2.5.2/bin/ktoolbar
selamat..... Anda telah berhasil menginstallnya.... Selamat Ber-programming J2ME ria.....
Nah... sekarang jika Anda ingin membuat launcher di Desktop caranya gini....
klik kanan di desktop kemudian pilih Create Launcher... kemudian pada text Command masukkan path WTK-nya (/home/feri/WTK2.5.2/bin/ktoolbar) ... ganti icon... selesai dah......
ni... screensyutnya..........................
loading wtk......
jendela wtk...
wtk emulator.......