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.......
Install Canon PIXMA iP1700 di Ubuntu 8.04
Wakakakakaa......suenengggggggg kaleeeeeee ternyata dapat juga menginstall printer canon PIXMA iP 1700-ku di ubuntu. Pertamasih bingung cari driver dimana yah.. untuk canon ini, mau pake turboprint bayar (kantong tipis kaleee) setelah cari-cari driver di mbah google ternya dapat juga drivernya dan dapat pake drivernya canon PIXMA iP2200 (dapat didownload disini). Driver ini juga dapat dipake di printer canon ip1700 ataupun ip1600. Langsung aja ya ini cara installnya.....
nah... selesai juga install printernya sekarang tinggal coba tuk ngeprint, pasti sudah bisa. Wakakaka horeeeee ternyata gue dapat ngeprint pake ubuntu...$ sudo dpkg -i bjfilter-2.6_1-1_i386.deb
$ sudo dpkg -i libcnbj-2.6_0-1_i386.deb
$ sudo dpkg -i pstocanonbj_3.3-1_i386.deb
kemudian setelah itu klik add printer di halaman web tersebut
kemudian isikan text box-text box pada halaman tersebut. Untuk name dapat diisikan ip1700
, location dapat diisikan usb://canon/ip1700
dan description dapat diisikan canon ip1700
dan anda akan dibawa ke jendela baru pilihlah di direktori /usr/share/cups/model dan kemudian pilihlah file "canonip2200.ppd"
kemudian klik Add Printer
Mount Partisi NTFS dan FAT di Ubuntu 8.04
Mungkin bagi pengguna ubuntu berfikir gimana caranya untuk me-mount partisi windows (NTFS dan FAT) secara otomatis saat boot-up tanpa melalui menu places --> removable media. Na.. ini cara gimana untuk me-mount partisi-partisi NTFS atau FAT tersebut secara otomatis pada saat boot-up. Langkah-langkahnya sebage berikut $ sudo mkdir /media/partisi_fat $ sudo cp /etc/fstab /etc/fstab_backup $ sudo gedit /etc/fstab /dev/sda1 /media/partisi_fat vfat iocharset=utf8,umask=000 0 0 /dev/sda2 /media/partisi_ntfs ntfs auto,umask=0002 0 0
Untuk partisi FAT
Untuk partisi NTFS
kemudian tambahkan baris berikut di akhir berkas dari file fstab yang diedit
kemudian simpan berkas
kemudian simpan berkas file tersebut
setelah itu buktikan bahwa partisi-partisi FAT dan NTFS tersebut sudah nongol di desktop ubuntu milikmu secara otomatis saat boot-up, sekian ....
Apa itu Java 2 Micro Edition (J2ME)
Nah, sebelum mengenal apa itu j2me sebaiknya kenal dulu dengan apa itu java. Java menurut definisi dari Sun adalah sekumpulan teknologi untuk membuat dan menjalankan perangkat lunak pada komputer standalone atau pada lingkup jaringan. Java itu sendiri berdiri di atas mesin interpreter yang dikenal dengan nama Java Virtual Machine (JVM). JVM ini yang membaca bytecode file .class (hasil compile file .java). Bahasa Java itu sendiri merupakan sebuah bahasa multi platform yang artinya dapat digunakan di berbagai macam sistem operasi mulai dari Linux, Windows, dll. Oleh karena itu dikenal dengan istilah 'write once run everywhere' yang artinya program hanya ditulis sekali tetapi dapat dijalankan di berbagai platform tanpa mengubah kode program.
Java itu dibagi menjadi tiga
Nah sekarang saatnya masuk ke Java 2 Micro Edition (J2ME).....
J2ME yaitu bagian dari J2SE yang ditujukan untuk implementasi pada perangkat genggam yang tidak mampu mendukung secara penuh imlementasi menggunakan J2SE dan dirancang untuk dapat menjalankan program Java pada perangkat-perangkat seperti hand phone, PDA (Personal Digital Assistant), Palm, PocketPC, Smart-Phone hingga PDA-Phone yang tidak mempunyai karakteristik yang berbeda dengan komputer biasa misalnya kecilnya jumlah memory pada perangkat genggam.
Sebenernya pada dasarnya J2ME itu terdiri dari 3 bagian yaitu konfigurasi, profil dan paket-paket opsional, berikut penjelasannya.
yaitu bagian yang berisi JVM dan beberapa library kelas lainnya. Ada dua jenis konfigurasi yaitu CDC (Connected Device Configuration) dan CLDC (Connected Limited Device Configuration).
yaitu bagian perluasan dari konfigurasi artinya selain sekumpulan kelas yang ada di konfigurasi, terdapat juga kelas lain yang lebih spesifik yang didefinisikan di dalam profil. Oleh karena itu profil akan membantu secara fungsional dengan menyediakan kelas-kelas yang tidak terdapat di konfigurasi.
profile yang paling populer dari Sun adalah sering disebut MIDP (Mobile Information Device Profile).
yaitu paket tambahan yang dibutuhkan oleh aplikasi sehingga pada saat proses deployment paket-paket tersebut perlu didistribusikan sebagai bagian dari aplikasi yang bersangkutan. Perlu diingat bahwa paket-paket opsional tersebut bukan merupakan paket yang dibuat oleh perusahaan alat yang digunakan.