Font

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

Mode (style)

  • STYLE_BOLD
  • STYLE_ITALIC
  • STYLE_UNDERLINED
  • STYLE_PLAIN

Jenis (Face)
  • FACE_MONOSPACE
  • FACE_PROPORTIONAL
  • FACE_SYSTEM

Ukuran (Size)
  • SIZE_LARGE
  • SIZE_SMALL
  • SIZE_MEDIUM

Metode-metode yang terdapat di library font (javax.microedition.lcdui.Font) adalah sebagai berikut
  1. static font getFont(int face,int style, int size)
  2. mengembalikan nilai font baru dengan spesifikasi masukan
  3. static font getDefaultFont()
  4. mengembalikan nilai font pada sistem
  5. int getFace()
  6. mengembalikan jenis (face) font yang digunakan
  7. int getStyle()
  8. mengembalikan nilai kombinasi mode (style) atribut font menjadi sebuah nilai integer
  9. int getSize()

  10. mengembalikan nilai ukuran font
  11. boolean isPlain()

  12. mengembalikan nilai true apabila mode yang digunakan adalah plain
  13. boolean isItalic()

  14. mengembalikan nilai true apabila mode yang digunakan adalah italic
  15. boolean isBold()

  16. mengembalikan nilai true apabila mode yang digunakan adalah bold
  17. boolean isUnderlined()

  18. mengembalikan nilai true apabila mode yang digunakan adalah underlined
  19. int getHeight()

  20. mengembalikan nilai tinggi font jika diukur dari garis dasar
  21. int getBaselinePosition()

  22. mengembalikan nilai kenaikan font diukur dari garis dasar (baseline) sampai bagian atas karakter
  23. int charWidth(char ch)

  24. mengembalikan nilai tinggi dari katakter tertentu
  25. int charsWidth(char[] ch, int offset, int length)

  26. mengembalikan nilai tinggi kumpulan karakter (char[] ch) dimulai dari index (offset) sepanjang length
  27. int stringWidth(String str)

  28. mengembalikan nilai tinggi string str
  29. int substringWidth(String str, int offset, int length)

  30. 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.

fontPertama.java

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


canvasUtama.java

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

Read More......

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

  1. HIGH LEVEL API UNTUK PEMBUATAN GUI

  2. 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.

    public static Display getDisplay(MIDlet m)


    Penggunaan fungsi ini umumnya dilakukan di dalam fungsi startApp() dimana sebuah MIDlet akan menjadi aktif semacam ini:

    public class yourMidletname extends MIDlet{
    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.

    public void setCurrent(Alert x, Displayable yourScreen)


    Fungsi-fungsi lain dari kelas javax.midroedition.lcdui.Display adalah sebagai berikut:
    1. public Displayable getCurrent()
    2. Menghasilkan objek screen-Displayable yang sedang ditampilkan di layar.
    3. public boolean isColor()
    4. Menghasilkan nilai true jika perangkat genggam yang digunakan mendukung warna atau nilai false jika hanya mendukung gray scale.


    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:
    1. public void setTitle(String s)
    2. Untuk menciptakan property title dari objek screen
    3. public String getTitle()
    4. Menghasilkan string properti title dari objek screen.
    5. public void setTicker(Ticker x)
    6. Untuk menghasilkan properti ticker dari objek screen.
    7. public Ticker getTicker()
    8. Menghasilkan objek ticker yang sedang aktif pada objek screen.


    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.

  3. LOW LEVEL API UNTUK PEMBUATAN GUI

  4. 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.

Read More......

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..


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

feri@feri-desktop:~$ sudo apt-get install netbeans



ato kalo yang download dari java.sun.com maka tinggal diinstall dengan perintah

feri@feri-desktop:~$ ./[nama_file_binary]



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...

  1. Siapkan dulu master Wireless Toolkitnya (sun_java_wireless_toolkit-2_5_2-linux.bin) yang dapat didownload dari www.java.sun.com

  2. Setelah didownload lakukan instalasi dengan perintah ./[nama file] (dot slash),..

    feri@feri-desktop:~$ sudo ./sun_java_wireless_toolkit-2_5_2-linux.bin



  3. maka kemudian akan muncul aggreement seperti ini....


    Sun Microsystems, Inc. ("Sun") ENTITLEMENT for SOFTWARE

    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

    Do you agree to the above license terms? [yes or no]



    ketikkan "yes" (tanpa tanda kutip) kemudian enter

  4. Maka akan muncul pernyataan seperti ini

    No suitable Java interpreter was detected

    0) Specify a path to a Java interpreter directory.
    1) Cancel this installation.
    Select a choice [0-1]: 0



    isikan "0" kemudian tekah enter

  5. Kemudian Anda akan diminta untuk memasukkan path dimana JDK dari java itu diinstall (kalo pake netbeans di /usr/lib/jvm/java-6-openjdk/bin. Seperti ini pernyataannya

    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.
    Enter a path to the Java 2 SDK: /usr/lib/jvm/java-6-openjdk/bin



    masukkan pathnya seperti itu..

  6. Kemudian anda akan diminta untuk menentukan dimana Anda akan menginstall J2ME Wireless Toolkitnya...

    Please enter a directory into which you would like to install the Sun Java(TM) Wireless Toolkit, 2.5.2 for CLDC.
    [ 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....

  7. kemudian Anda akan diminta apakah Anda ingin mengecek update pilihlah no

    Check for Product Updates? [yes or no] no



  8. Maka kemudian Anda akan dihadapkan pada summary-nya seperti ini

    Setup has enough information to start copying the program files.
    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

  9. Maka sistem akan mulai menginstall WTK-nya tunggulah hingga selesai....

    Extracting the installation files...
    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



  10. Na.... Instalasi WTK selesai sekarang tinggal menjalankannya....

    feri@feri-desktop:~$/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.......

Read More......