Bagi anda yang pemula dalam belajar java khususnya di edisi micronya, tentu tidak akan melewatkan utuk belajar bagaimana membuat welcome screen atau splash screen . anda mungkin pernah melihat logo atau tulisan sebelum anda memulai aplikasi game misalnya, atau aplikasi lainnya seperti halnya pada aplikasi dekstop, logo atau tulisan itu biasanya merupakan identitas si pembuat atau sponsor atau lain sebagainya yang terlibat dalam pembuatannya. Nah disini kita akan mulai belajar membuat itu, tools yang akan kita gunakan sudah pernah saya bahas disini . Dalam pembuatanya, kita akan bagi script menjadi 2 bagian, bagian pertama adalah bagian main midlet, bagian main midlet ini adalah bagian yang mendisplaykan property, method dan lainnya sesuai dengan apa yang di minta oleh si main midlet ini, dalam hal ini adalah menampilkan logo tersebut ke atas layar , sedangkan bagian kedua pada script ini adalah bagian yang meload atau memanggil logo tersebut ke dalam canvas untuk di gambarkan, teknisnya coba anda lihat script di bawah ini dan cobalah untuk memahaminya:
MainMidlet.java
import java.util.Timer;
import java.util.TimerTask;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.MIDlet;
public class MainMidlet extends MIDlet {
private WelcomeCanvas wCanvas;
private Display display;
private Timer timer;
private TimerTask timerTask;
private static final Command exitCommand = new Command("keluar", 7, 99);
public MainMidlet() {
}
protected void startApp() {
display = Display.getDisplay(this);
wCanvas = new WelcomeCanvas(this);
wCanvas.addCommand(exitCommand);
display.setCurrent(wCanvas);
}
protected void pauseApp() { }
protected void destroyApp(boolean unconditional) { }
void stopTimer() {
timer.cancel();
timerTask.cancel();
}
void startTimer() {
timer = new Timer();
timerTask = new TimerTask() {
public void run() {
display.setCurrent(new SuccesCanvas());
}
};
timer.schedule(timerTask, 5000);
}
}
Anda Masih merasa bingung?! terutama untuk pemula yah.. biasanya masih belum terlalu paham.. walapun script diatas keliatanya panjang tapi perlu anda ketahui yang digunkan hanya dua bagian saja dari bagian program itu, untuk memahaminya lebih jauh tentang seluk beluk main midlet ini silahkan baca selengkapnya di posting saya yang membahasnya disini. jadi jika anda tau kuncinya bagaimana membaca script program pasti anda akan mudah memahaminya baca juga disini. saya lanjutkan bagian tersebut adalah:
1. Bagian yang berwarna Orange pada scrip di atas: Karena kita ingin mendisplay logo ke atas layar maka kita wajib membetuk instan dari kelas WelcomeScreen, turunan dari class inilah yang akan di panggil kemudian di displaykan pada saat program pertamakali di jalankan, yaitu pada startApp().
2. Bagian yang berwarna hijau pada script di atas: Pada bagian program ini kita akan memberikan timertask yang fungsinya untuk memberikan waktu pada logo yang di displaykan. jadi berapa lama selang waktu yang di berikan untuk kemudian aplikasi di tampilkan.
Kedua bagian ini sebenarnya yang perlu kita garis bawahi , jadi anda tidak perlu memperhatikan keseluruhannya tapi bukan berarti tidak memahaminya intinya ada harus tau apa kebutuhan dan yang di butuhkan bagian program ini (main midlet).
WelcomeCanvas.java
import javax.microedition.lcdui.*;
public class WelcomeCanvas extends Canvas {
private MainMidlet midletTT;
int w, h, hImg;
private Image img;
public WelcomeCanvas(MainMidlet midlet) {
w = getWidth();
h = getHeight();
midletTT = midlet;
try {
img = Image.createImage("/logo.gif");
} catch (java.io.IOException e) { }
hImg = img.getHeight();
}
protected void paint(Graphics g) {
g.setColor(255, 255, 255); g.fillRect(0, 0, w, h);
g.drawImage(img, w/2, h/2, Graphics.HCENTER | Graphics.VCENTER);
g.setColor(60, 70, 90);
g.setFont(Font.getFont(Font.FACE_PROPORTIONAL,Font.STYLE_PLAIN,Font.SIZE_SMALL));
g.drawString("yadi rosadi", 110,50, Graphics.TOP| Graphics.RIGHT);
}
protected void hideNotify() {
midletTT.stopTimer();
}
protected void showNotify() {
midletTT.startTimer();
}
}
class SuccesCanvas extends Canvas {
protected void paint(Graphics g) {
g.setColor(255, 255, 255);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(255, 0, 0);
g.drawString("BERHASIL", getWidth()/2, (getHeight()/2)-10, Graphics.TOP
| Graphics.HCENTER);
g.drawString("Silakan Masuk", getWidth()/2, (getHeight()/2)+10,
Graphics.TOP | Graphics.HCENTER);
}
}
Yang perlu anda perhatikan dari potongan program di atas adalah bagian yang saya kasih warna hijau yaitu paint dan SuccesCanvas. method paint adalah tempat di mana logo di manipulasi tentunnya setelah logo ini di load ke canvas yaitu pada bagian try{ }, manipulasi yang di berikan disini yaitu pemberian warna background layar, penempatan posisi logo pada layar, penulisan dan posisioning text yang di tempatkan di atas logo. Sedangkan pada Class SuccesCanvas adalah class yang di tampilkan setelah timertask yang di berikan pada logo habis, Display yang di tampilkan pada contoh adalah akan muncul text “Berhasil” seperti gambar ke 2 dibawah ini:
Contoh tampilan dari script di atas setelah di run:

Download : disini










Loading...
postingan yg sgt bgus boss,,,
ada contoh penggunaan databasenya ga? kalo ada tolong dipublish ya. pake rms ato rdbmsnya.makasih
Hi, good post. I have been wondering about this issue,so thanks for posting.
It’s a pity that people don’t realize the importance of this information. Thanks for posing it.
salam kenal mas…. q mau tny ni kalau gambar ( background ) di kasih tombol gmn cara nya?????
tapi tombol itu bisa diaktifkan semacam nglink . dan bisa digeser kanan – kiri – atas- bawah..untuk pengambilan gambar setelah di link ( atau tombol di klik ) langsung ke database.
mkasih.
mau nanya mas, method showNotify() sama hideNotify() itu dipanggilnya di script mana ya ? koq saya cari di source code-nya ga ada yang memanggil method showNotify() dan hideNotify() ..
Terima Kasih..
salam kenal..
mau nanya mas..
kebetulan baru belajar J2ME nih,, didalam aplikasi yang aq buat ada beberapa ChoiceGruop yang masing2 element nya mau saya jumlahin sehingga nilai itu bisa di ubah menjadi Integer dan bisa ditampilkan dalam bentuk integer,, bukan string dari element tersebut…
mohon bantuannya y…