<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Andi Sunyoto Personal Blog &#187; J2ME</title>
	<atom:link href="http://www.andisun.com/tag/j2me/feed" rel="self" type="application/rss+xml" />
	<link>http://www.andisun.com</link>
	<description>andi&#124;blog</description>
	<lastBuildDate>Wed, 28 Dec 2011 12:24:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>J2ME: Menampilkan Gambar dengan Class Canvas</title>
		<link>http://www.andisun.com/tutorials/j2me-programming/j2me-menampilkan-gambar</link>
		<comments>http://www.andisun.com/tutorials/j2me-programming/j2me-menampilkan-gambar#comments</comments>
		<pubDate>Fri, 15 Jan 2010 02:52:08 +0000</pubDate>
		<dc:creator>myandisun</dc:creator>
				<category><![CDATA[J2ME-Mobile Programming]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[J2ME]]></category>

		<guid isPermaLink="false">http://www.andisun.com/?p=551</guid>
		<description><![CDATA[Salah satu kelebihan class Canvas adalah dapat menampilkan gambar. Pada modul ini kita akan membahas kode program untuk menampilkan file gambar di layar handphone. Pertama anda siapkan file gambar yang akan ditampilkna. Biasanya file gambar yang ditampilkan dalam layar HP bertipe “PNG”. Siapkan gambar degan nama dan extensi berikut: &#8220;btw.png,globe.png,ipod.png,printer.png,sepeda.png&#8221; File di atas dapat diganti [...]]]></description>
			<content:encoded><![CDATA[<p>Salah satu kelebihan class Canvas adalah dapat menampilkan gambar. Pada modul ini kita akan membahas kode program untuk menampilkan file gambar di layar handphone.</p>
<p>Pertama anda siapkan file gambar yang akan ditampilkna. Biasanya file gambar yang ditampilkan dalam layar HP bertipe “PNG”.</p>
<p>Siapkan gambar degan nama dan extensi berikut: &#8220;btw.png,globe.png,ipod.png,printer.png,sepeda.png&#8221;<br />
File di atas dapat diganti sesuai dengan keinginan kita.</p>
<p><strong>MIDShowImage.java</strong></p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p551code2'); return false;">View Code</a> JAVA</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p5512"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
</pre></td><td class="code" id="p551code2"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.microedition.midlet.*</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.microedition.lcdui.*</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> ShowImageNext <span style="color: #000000; font-weight: bold;">extends</span> MIDlet <span style="color: #009900;">&#123;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">private</span> Display display<span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">private</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Acanvas+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Canvas</span></a> canvas<span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">private</span> Command cmdNExt<span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000066; font-weight: bold;">int</span> counter <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> ShowImageNext<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
canvas <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> CanvasShowImg<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> startApp<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
display.<span style="color: #006633;">getDisplay</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">setCurrent</span><span style="color: #009900;">&#40;</span>canvas<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> pauseApp<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> destroyApp<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">boolean</span> unconditional<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//End of MIDlet</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> CanvasShowImg <span style="color: #000000; font-weight: bold;">extends</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Acanvas+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Canvas</span></a> <span style="color: #009900;">&#123;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">private</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aimage+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Image</span></a> currentImg<span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> CanvasShowImg<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000066; font-weight: bold;">void</span> paint<span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Agraphics+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Graphics</span></a> g<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//set background to white</span>
&nbsp;
g.<span style="color: #006633;">setColor</span><span style="color: #009900;">&#40;</span>0xFFFFFF<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
g.<span style="color: #006633;">fillRect</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">getWidth</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>, <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">getHeight</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> option <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span><span style="color: #0000ff;">&quot;/btw.png&quot;</span>, <span style="color: #0000ff;">&quot;/globe.png&quot;</span>, <span style="color: #0000ff;">&quot;/ipod.png&quot;</span>, <span style="color: #0000ff;">&quot;/printer.png&quot;</span>, <span style="color: #0000ff;">&quot;/sepeda.png&quot;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
currentImg <span style="color: #339933;">=</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aimage+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Image</span></a>.<span style="color: #006633;">createImage</span><span style="color: #009900;">&#40;</span>option<span style="color: #009900;">&#91;</span>counter<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>counter<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Exception</span></a> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
e.<span style="color: #006633;">getMessage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
g.<span style="color: #006633;">drawImage</span><span style="color: #009900;">&#40;</span>currentImg, getWidth<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">/</span> <span style="color: #cc66cc;">2</span>, getHeight<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">/</span> <span style="color: #cc66cc;">2</span>, <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Agraphics+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Graphics</span></a>.<span style="color: #006633;">VCENTER</span> <span style="color: #339933;">|</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Agraphics+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Graphics</span></a>.<span style="color: #006633;">HCENTER</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> keyPressed<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> keycode<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">switch</span> <span style="color: #009900;">&#40;</span>getGameAction<span style="color: #009900;">&#40;</span>keycode<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">case</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Acanvas+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Canvas</span></a>.<span style="color: #006633;">RIGHT</span><span style="color: #339933;">:</span>
&nbsp;
counter <span style="color: #339933;">=</span> counter <span style="color: #339933;">+</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
&nbsp;
repaint<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">case</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Acanvas+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Canvas</span></a>.<span style="color: #006633;">LEFT</span><span style="color: #339933;">:</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">default</span><span style="color: #339933;">:</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Hasil program di atas adalah sebagai berikut:</p>
<div id="attachment_554" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.andisun.com/wp-content/uploads/2010/01/tampil_gambar1.png"><img class="size-full wp-image-554" title="tampil_gambar" src="http://www.andisun.com/wp-content/uploads/2010/01/tampil_gambar1.png" alt="Program menampilkan gambar" width="300" height="383" /></a><p class="wp-caption-text">Program menampilkan gambar</p></div>
<p><strong>Keterangan:</strong></p>
<p>Klik panah ke kanan untuk melihat gambar selanjutnya.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andisun.com/tutorials/j2me-programming/j2me-menampilkan-gambar/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>J2ME: Form dan Ticker</title>
		<link>http://www.andisun.com/tutorials/j2me-programming/j2me-form-dan-ticker</link>
		<comments>http://www.andisun.com/tutorials/j2me-programming/j2me-form-dan-ticker#comments</comments>
		<pubDate>Fri, 11 Sep 2009 02:07:24 +0000</pubDate>
		<dc:creator>myandisun</dc:creator>
				<category><![CDATA[J2ME-Mobile Programming]]></category>
		<category><![CDATA[Form]]></category>
		<category><![CDATA[J2ME]]></category>
		<category><![CDATA[MIDlet]]></category>
		<category><![CDATA[ticker]]></category>

		<guid isPermaLink="false">http://www.andisun.com/?p=442</guid>
		<description><![CDATA[Apabila sedang menyaksikan tayangan pada televisi akan sering terlihat berita pada bagian bawah layar yang berupa tulisan berjalan. Atau pada acara yang berhubungan dengan bursa efek akan bisa dilihat juga berupa tulisan berjalan yang memberikan informasi mengenai keadaan saham pada saat itu. Untuk membuat “tayangan” seperti itu pada layar ponsel dapat digunakan class Ticker. Class [...]]]></description>
			<content:encoded><![CDATA[<p>Apabila sedang menyaksikan tayangan pada televisi akan sering terlihat berita pada bagian bawah layar yang berupa tulisan berjalan. Atau pada acara yang berhubungan dengan bursa efek akan bisa dilihat juga berupa tulisan berjalan yang memberikan informasi mengenai keadaan saham pada saat itu. Untuk membuat “tayangan” seperti itu pada layar ponsel dapat digunakan class Ticker.</p>
<p>Class Ticker tampak seperti animasi teks berjalan terus menerus dari kanan ke  kiri. Untuk menampilkan obyek Ticker yang telah dibuat, kita perlu memanggil method setTicker() yang didefinisikan pada class Displayable. Ini artinya, method tersebut dapat kita panggil dari obyek turunan dari kelas Screen maupun Canvas.</p>
<p>Pada modul ini akan mengekplorasi ticker. Disini akan membuat obyek Ticker dan mengkaitkannya dengan obyek Form.</p>

<div class="wp_codebox_msgheader wp_codebox_hide"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p442code5'); return false;">View Code</a> JAVA</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p4425"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
</pre></td><td class="code" id="p442code5"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.microedition.midlet.*</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.microedition.lcdui.*</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> MIDTicker <span style="color: #000000; font-weight: bold;">extends</span> MIDlet <span style="color: #000000; font-weight: bold;">implements</span> CommandListener <span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">private</span> Form form<span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">private</span> Display display<span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">private</span> Ticker ticker<span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">private</span> Command cmdKeluar<span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> MIDTicker<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		cmdKeluar <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Command<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Keluar&quot;</span>, Command.<span style="color: #006633;">EXIT</span>, <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		ticker <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Ticker<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Saham TELKOM naik 10 point&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		form <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Form<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Ticker&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		form.<span style="color: #006633;">setTicker</span><span style="color: #009900;">&#40;</span>ticker<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		form.<span style="color: #006633;">addCommand</span><span style="color: #009900;">&#40;</span>cmdKeluar<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		form.<span style="color: #006633;">setCommandListener</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> startApp<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		display <span style="color: #339933;">=</span> Display.<span style="color: #006633;">getDisplay</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		display.<span style="color: #006633;">setCurrent</span><span style="color: #009900;">&#40;</span>form<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> pauseApp<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> destroyApp<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">boolean</span> unconditional<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> commandAction<span style="color: #009900;">&#40;</span>Command c, Displayable d<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>c <span style="color: #339933;">==</span> cmdKeluar<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			destroyApp<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			notifyDestroyed<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Berikut keterangan kode program di atas:</p>
<p>Untuk membuat objek ticker digunakan baris berikut :</p>
<pre>ticker = new Ticker("Ini text berjalan yang akan ditampilan pada layar ");</pre>
<p>Sedangkan untuk menambahkan objek ticker pada form digunakan method setTicker(objekTicker), seperti di bawah ini :</p>
<pre>form.setTicker(ticker);</pre>
<p>Berbeda pada ponsel lainnya, pada Siemens, teks dari objek ticker menempati baris sama dengan title dari form. Selain itu, teks pada objek ticker hanya berjalan setelah layar saja.</p>
<p><a href="http://www.andisun.com/wp-content/uploads/2009/09/midlet_ticker01.png"><img class="aligncenter size-full wp-image-443" title="midlet_ticker01" src="http://www.andisun.com/wp-content/uploads/2009/09/midlet_ticker01.png" alt="midlet_ticker01" width="239" height="308" /></a></p>
<h2>1.1.    Setting Teks pada Ticker</h2>
<p>Pada class Ticker terdapat dua method yaitu getString() dan setString(String str). Berikut adalah contoh untuk aplikasi yang memberikan fasilitas bagi user untuk mengubah teks yang ditampilkan oleh objek ticker. Berikut adalah contoh dari aplikasi tersebut. Aplikasi ini dapat memodifikasi aplikasi ticker sebelumnya.</p>

<div class="wp_codebox_msgheader wp_codebox_hide"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p442code6'); return false;">View Code</a> JAVA</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p4426"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
</pre></td><td class="code" id="p442code6"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.microedition.midlet.*</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.microedition.lcdui.*</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> MIDTickerLanjut <span style="color: #000000; font-weight: bold;">extends</span> MIDlet <span style="color: #000000; font-weight: bold;">implements</span> CommandListener <span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">private</span> Form form<span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">private</span> Display display<span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">private</span> Ticker ticker<span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">private</span> Command cmdKeluar<span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">private</span> Command cmdTicker<span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">private</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Atextfield+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">TextField</span></a> textField<span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> MIDTickerLanjut<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		cmdKeluar <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Command<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Keluar&quot;</span>, Command.<span style="color: #006633;">EXIT</span>, <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		cmdTicker <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Command<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Set Ticker&quot;</span>, Command.<span style="color: #006633;">SCREEN</span>, <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		textField <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Atextfield+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">TextField</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Teks : &quot;</span>, <span style="color: #0000ff;">&quot;&quot;</span>, <span style="color: #cc66cc;">50</span>, <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Atextfield+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">TextField</span></a>.<span style="color: #006633;">ANY</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		ticker <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Ticker<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		form <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Form<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Ticker&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		form.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span>textField<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		form.<span style="color: #006633;">addCommand</span><span style="color: #009900;">&#40;</span>cmdKeluar<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		form.<span style="color: #006633;">addCommand</span><span style="color: #009900;">&#40;</span>cmdTicker<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		form.<span style="color: #006633;">setCommandListener</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> startApp<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		display <span style="color: #339933;">=</span> Display.<span style="color: #006633;">getDisplay</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		display.<span style="color: #006633;">setCurrent</span><span style="color: #009900;">&#40;</span>form<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> pauseApp<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> destroyApp<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">boolean</span> unconditional<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> commandAction<span style="color: #009900;">&#40;</span>Command c, Displayable d<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>c <span style="color: #339933;">==</span> cmdKeluar<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			destroyApp<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			notifyDestroyed<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>c <span style="color: #339933;">==</span> cmdTicker<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			form.<span style="color: #006633;">setTicker</span><span style="color: #009900;">&#40;</span>ticker<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			ticker.<span style="color: #006633;">setString</span><span style="color: #009900;">&#40;</span>textField.<span style="color: #006633;">getString</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Aplikasi ini merupakan hasil modifikasi dari MIDTickerLanjut.java. Objek yang ditambahkan adalah objek textField yang akan digunakan oleh user untuk memasukkan teks yang akan digunakan oleh objek ticker. Pada konstruktor hanya dilakukan pembuatan objek ticker dan belum ditambahkan pada objek form. Setelah “tombol” Ticker ditekan baru objek ticker ditambahkan pada form dengan baris seperti berikut ini:</p>
<pre>if (c == cmdTicker) {
  form.setTicker(ticker);
  ticker.setString(textField.getString());
}</pre>
<p>Untuk menampilkan teks yang diisikan user pada textField digunakan baris berikut:</p>
<pre>ticker.setString(textField.getString());</pre>
<p><a href="http://www.andisun.com/wp-content/uploads/2009/09/midlet_ticker02.png"><img class="aligncenter size-full wp-image-444" title="midlet_ticker02" src="http://www.andisun.com/wp-content/uploads/2009/09/midlet_ticker02.png" alt="midlet_ticker02" width="487" height="314" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andisun.com/tutorials/j2me-programming/j2me-form-dan-ticker/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Mobile Tracking Memanfaatkan Teknologi Global Positioning System (GPS) dan General Packet Radio Service (GPRS)</title>
		<link>http://www.andisun.com/jurnal/mobile-tracking-memanfaatkan-teknologi-global-positioning-system-gps-dan-general-packet-radio-service-gprs</link>
		<comments>http://www.andisun.com/jurnal/mobile-tracking-memanfaatkan-teknologi-global-positioning-system-gps-dan-general-packet-radio-service-gprs#comments</comments>
		<pubDate>Tue, 08 Sep 2009 03:14:23 +0000</pubDate>
		<dc:creator>myandisun</dc:creator>
				<category><![CDATA[Jurnal]]></category>
		<category><![CDATA[GPRS]]></category>
		<category><![CDATA[GPS]]></category>
		<category><![CDATA[J2ME]]></category>
		<category><![CDATA[NMEA]]></category>
		<category><![CDATA[Tracking]]></category>

		<guid isPermaLink="false">http://www.andisun.com/?p=429</guid>
		<description><![CDATA[by: Andi Sunyoto ABSTRACT An integration of a GPS receiver module and GPRS for monitoring and tracking of vehicle position has been designed and implemented. The GPS receiver module is a equipment able to generate position data, but it unable to send the data position to the control system. A GPRS technology in mobGPile device [...]]]></description>
			<content:encoded><![CDATA[<p>by: Andi Sunyoto</p>
<p><em>ABSTRACT</em></p>
<p><em>An integration of a <a href="http://www.andisun.com/jurnal/menentukan-posisi-dengan-global-positioning-system-gps">GPS receiver</a> module and GPRS for monitoring and tracking of vehicle position has been designed and implemented. The <a href="http://www.andisun.com/jurnal/menentukan-posisi-dengan-global-positioning-system-gps">GPS receiver</a> module is a equipment able to generate position data, but it unable to send the data position to the control system. A GPRS technology in mobGPile device can transmit data over internet, so it can be used to transmit object position to control system in order to be monitored.</em></p>
<p><em>This research aims to build a system for monitoring and tracking the vehicle’s position. The system are divided into three parts: block I, block II and block III. Block I consist of two devices : A <a href="http://www.andisun.com/jurnal/menentukan-posisi-dengan-global-positioning-system-gps">GPS receiver</a> module and a cellular phone running a java application (<a href="http://www.andisun.com/artikel/sekilas-java-2-microedition-j2me">J2ME</a>). The application is used to stream, parse and processed <a href="http://www.andisun.com/artikel/national-marine-electronics-association-nmea-0183-tipe-rmc">NMEA</a> data from the <a href="http://www.andisun.com/jurnal/menentukan-posisi-dengan-global-positioning-system-gps">GPS receiver</a> module before transmiting it to the control system (block II) over a GPRS connection. Block II consists of a web server and a database server for catching the data position sent from block I and store it in database server. Block III consists of visualization and monitoring application to visualize vehicle’s positions over the digital map. The last position of the vehicle data are taken from the database server.</em></p>
<p><em>The result of this research is an integration of two technologies that can be used to monitor and track of vehicles position. The success of the monitoring and tracking are dependent on : the <a href="http://www.andisun.com/artikel/national-marine-electronics-association-nmea-0183-tipe-rmc">NMEA</a> data stream from the <a href="http://www.andisun.com/jurnal/menentukan-posisi-dengan-global-positioning-system-gps">GPS receiver</a> module, the accuracy of <a href="http://www.andisun.com/jurnal/menentukan-posisi-dengan-global-positioning-system-gps">GPS receiver</a> module and the digital map used by the system.</em></p>
<p>Key words : GPS, GPRS, NMEA, Tracking, J2ME</p>
<h1>1.  PENGANTAR</h1>
<p>Kasus yang membutuhkan mekanisme pemantauan posisi kendaraan semakin banyak, misalkan kasus dalam perusahaan taksi, distribusi barang, penyalahgunaan pemakaian mobil dinas dan sistem pengiriman BBM, barang pada perusahaan jasa.</p>
<p>Perusahaan maupun instansi biasanya menggunakan media komunikasi radio untuk mengetahui dengan menanyakan kepada pengemudi dimana posisinya. Jawaban yang diberikan pengemudi dijadikan dasar untuk mengetahui posisi kendaraan tersebut. Cara ini membuat data yang diberikan kadang tidak akurat, karena tergantung dari jawaban dari pengemudi.</p>
<p>Kemajuan teknologi penentuan lokasi seperti <a href="http://www.andisun.com/jurnal/menentukan-posisi-dengan-global-positioning-system-gps">GPS <em>(Global Positioning System)</em></a> berkembang pesat dengan tingkat akurasi yang semakin teliti, bermacam variasi dan semakin murah. Posisi dapat diketahui jika membawa alat yang diberi nama <a href="http://www.andisun.com/jurnal/menentukan-posisi-dengan-global-positioning-system-gps"><em>GPS receiver</em></a> yang berfungsi untuk menerima sinyal dari satelit GPS. <a href="http://www.andisun.com/jurnal/menentukan-posisi-dengan-global-positioning-system-gps">GPS <em>receiver</em></a> berbentuk modul menghasilkan data <a href="http://www.andisun.com/artikel/national-marine-electronics-association-nmea-0183-tipe-rmc">NMEA</a> yang berisi data posisi.</p>
<p>Perkembangan jaringan teknologi <em>(wireless)</em> khususnya <em>handphone</em> semakin pesat. Sebuah <em>handphone</em> tipe tertentu sudah dilengkapi fitur Java dan GPRS. Fitur Java memungkinkan menambahkan aplikasi yang dibangun dengan <a href="http://www.andisun.com/artikel/sekilas-java-2-microedition-j2me">J2ME</a>. Teknologi GPRS <em>(General Packet Radio Service) </em>dapat digunakan sebagai media pengiriman data secara nirkabel melalui koneksi internet.</p>
<p>Tracking kendaraan adalah mekanisme bagaimana memantau keberadaan kendaraan yang bergerak dan jalurnya di muka bumi. Pengertian bergerak dalam perpektif geografi adalah perpindahan posisi suatu obyek dari suatu koordinat ke koordinat lain. Tracking diperoleh dengan merekam data perpindahan tersebut. Penerapan sistem ini, pihak operator tidak perlu menanyakan ke pengemudi tentang posisinya.</p>
<p>Modul <a href="http://www.andisun.com/jurnal/menentukan-posisi-dengan-global-positioning-system-gps">GPS<em> receiver</em></a> mempunyai karekteristik dapat menghasilkan informasi data posisi tetapi tidak dapat mengirimkan data tersebut dengan jarak jauh. GPRS sebagai teknologi komunikasi <em>wireless</em> dapat mengirimkan data melalui jaringan internet. Karakteristik yang dimiliki oleh <a href="http://www.andisun.com/jurnal/menentukan-posisi-dengan-global-positioning-system-gps">GPS</a> dan GPRS dapat diintegrasikan untuk membangun sistem monitoring posisi dan tracking kendaraan.</p>
<h1>2.  CARA PENELITIAN</h1>
<p>Penelitian ini secara garis bersar dibagi menjadi beberapa blok, yaitu blok I, blok II, dan blok III. Pembagian masing-masing blok dapat dilihat pada gambar berikut.</p>
<div id="attachment_430" class="wp-caption aligncenter" style="width: 536px"><a href="http://www.andisun.com/wp-content/uploads/2009/09/mobile_tracking_consept.png"><img class="size-full wp-image-430" title="mobile_tracking_consept" src="http://www.andisun.com/wp-content/uploads/2009/09/mobile_tracking_consept.png" alt="Pembagian komponen blok sistem" width="526" height="301" /></a><p class="wp-caption-text">Pembagian komponen blok sistem</p></div>
<h2>2.1 Komponen Blok I</h2>
<p>Pada Blok I berisi seperangkat GPS dan <em>handphone</em>. Blok I bertugas mengirimkan data posisi yang dibaca dari <a href="http://www.andisun.com/jurnal/menentukan-posisi-dengan-global-positioning-system-gps">GPS</a> ke Blok II secara otomatis.</p>
<div id="attachment_431" class="wp-caption aligncenter" style="width: 502px"><a href="http://www.andisun.com/wp-content/uploads/2009/09/mobile_tracking_user_blok.png"><img class="size-full wp-image-431" title="mobile_tracking_user_blok" src="http://www.andisun.com/wp-content/uploads/2009/09/mobile_tracking_user_blok.png" alt="Proses komponen blok I" width="492" height="252" /></a><p class="wp-caption-text">Proses komponen blok I</p></div>
<p>Modul <a href="http://www.andisun.com/jurnal/menentukan-posisi-dengan-global-positioning-system-gps"><em>GPS receiver</em></a> dan <em>handphone</em> dikoneksikan menggunakan bluetooth, kemudian data posisi dari modul <a href="http://www.andisun.com/jurnal/menentukan-posisi-dengan-global-positioning-system-gps"><em>GPS receiver</em></a> diambil <em>handphone</em> melalui aplikasi <a href="http://www.andisun.com/artikel/sekilas-java-2-microedition-j2me">J2ME</a>. Aplikasi ini pertama mengambil data <a href="http://www.andisun.com/artikel/national-marine-electronics-association-nmea-0183-tipe-rmc">NMEA</a> tipe RMC. Data tersebut kemudian di <em>parsing</em> untuk dipisahkan antara data longitude, latitude dan kecepatan dikirimkan ke Web Server melalui jaringan GPRS. Gambar proses yang terjadi di Blok I dapat dilihat pada gambar di atas.</p>
<h2>2.2 Komponen Blok II</h2>
<p>Blok II berisi Web server dan Database server yang berfungsi menerima data dari Blok I. Proses yang terjadi pada Blok II dapat dilihat pada gambar berikut.</p>
<div id="attachment_432" class="wp-caption aligncenter" style="width: 283px"><a href="http://www.andisun.com/wp-content/uploads/2009/09/mobile_tracking_server_block.png"><img class="size-full wp-image-432" title="mobile_tracking_server_block" src="http://www.andisun.com/wp-content/uploads/2009/09/mobile_tracking_server_block.png" alt="Proses komponen blok II" width="273" height="188" /></a><p class="wp-caption-text">Proses komponen blok II</p></div>
<p>Web server dilengkapi dengan pemrograman internet <em>server-side scripting</em> ASP untuk menangkap data posisi <em>(longitude dan latitude)</em>, kecepatan dan status yang dikirim dari Blok I.</p>
<p><span id="more-429"></span></p>
<h2>2.3 Komponen Blok III</h2>
<p>Blok III berfungsi memvisualisasikan posisi kendaraan di atas peta digital. Data posisi dan tracking kendaraan diambil dari database. Tipe koordinat yang digunakan pada MapObject (ActiveX untuk menampilkan peta) adalah D.d, sehingga data longitude dan latitude dari database (dalam bentuk DM.m) perlu dikonversi ke bentuk D.d. Data tersebut dijadikan dasar untuk memvisulisasikan posisi kendaraan yang diwakili dengan sebuah titik di atas peta digital yang telah diload dari file *.shp sebelumnya. Proses pada blok III dapat dilihat pada gambar 4.</p>
<p style="text-align: center;">
<div id="attachment_436" class="wp-caption aligncenter" style="width: 540px"><a href="http://www.andisun.com/wp-content/uploads/2009/09/mobile_tracking_admin_block.png"><img class="size-full wp-image-436 " title="mobile_tracking_admin_block" src="http://www.andisun.com/wp-content/uploads/2009/09/mobile_tracking_admin_block.png" alt="Komponen blok III" width="530" height="316" /></a><p class="wp-caption-text">Proses komponen blok III</p></div>
<h1>3.  HASIL DAN PEMBAHASAN</h1>
<p>Penelitian  dengan melakukan perjalanan langsung pada sebagain jalan di kota DIY dengan membawa modul<a href="http://www.andisun.com/jurnal/menentukan-posisi-dengan-global-positioning-system-gps"> GPS <em>receiver</em></a> dan <em>handphone</em> yang sudah dilengkapi dengan program J2ME.</p>
<p>Sistem ini dilihat dari sisi operator berisi tampilan peta digital dan titik-titik yang mengambarkan posisi kendaraan. Operator hanya dengan melihat tampilan monitoring, maka visualisasi akan selalu terupdate secara otomatis.</p>
<h2>3.1 Pembacaan Informasi dari GPS</h2>
<p>Data posisi dikirim dari modul <a href="http://www.andisun.com/jurnal/menentukan-posisi-dengan-global-positioning-system-gps">GPS</a> dalam format <a href="http://www.andisun.com/artikel/national-marine-electronics-association-nmea-0183-tipe-rmc">NMEA</a>-0183 tipe RMC dengan koneksi melalui bluetooth. Pada penelitian ini data yang diterima di <em>handphone</em> tidak selamanya lengkap. Perbandingan data penuh dan tidak penuh adalah sebagai berikut:</p>
<p>Contoh data lengkap:</p>
<pre>$GPRMC,065102,A,0745.6301,S,11024.5308,E,000.0,066.2,030306,001.1,E*65</pre>
<p>Contoh data tidak lengkap:</p>
<pre>A,0745.6301,S,11024.5308,E,000.0,066.2,030306,001.1,E*65</pre>
<p>Pembacaan data penuh akan menghasilkan informasi posisi dan visualisasi yang baik. Aplikasi yang dibangun belum stabil, karena pada waktu tertentu aplikasi akan tertutup sendiri tanpa ada pesan kesalahan.</p>
<h2>3.2 Hasil Pengiriman Data Posisi</h2>
<p>Berdasarkan hasil penelitian di lapangan dengan pengaturan interval pengiriman dalam <em>handphone</em> adalah 3 detik diperoleh data seperti pada tabel 1.</p>
<p>Tabel 1.  Data posisi hasil pengiriman</p>
<table style="width: 589px; height: 539px;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="53"><strong>ID</strong></td>
<td width="161"><strong>GtTgl</strong></td>
<td width="78"><strong>GtLong</strong></td>
<td width="85"><strong>GtLat</strong></td>
<td width="46"><strong>Speed</strong></td>
<td width="86"><strong>Jam</strong></td>
<td width="62"><strong>Interval</strong></td>
</tr>
<tr>
<td width="53">3</td>
<td width="161">2007-01-04 10:49:47.623</td>
<td width="78">11025.8600</td>
<td width="85">-0746.2964</td>
<td width="46">0.0</td>
<td width="86">10:49:47.623</td>
<td width="62"></td>
</tr>
<tr>
<td width="53">3</td>
<td width="161">2007-01-04 10:49:55.170</td>
<td width="78">11025.8592</td>
<td width="85">-0746.2967</td>
<td width="46">6.3</td>
<td width="86">10:49:55.170</td>
<td width="62">00:07.5</td>
</tr>
<tr>
<td width="53">3</td>
<td width="161">2007-01-04 10:50:02.030</td>
<td width="78">11025.8568</td>
<td width="85">-0746.3147</td>
<td width="46">25.0</td>
<td width="86">10:50:02.030</td>
<td width="62">00:06.9</td>
</tr>
<tr>
<td width="53">3</td>
<td width="161">2007-01-04 10:50:09.077</td>
<td width="78">11025.8544</td>
<td width="85">-0746.3478</td>
<td width="46">33.5</td>
<td width="86">10:50:09.077</td>
<td width="62">00:07.0</td>
</tr>
<tr>
<td width="53">3</td>
<td width="161">2007-01-04 10:50:15.983</td>
<td width="78">11025.8506</td>
<td width="85">-0746.3878</td>
<td width="46">40.5</td>
<td width="86">10:50:15.983</td>
<td width="62">00:06.9</td>
</tr>
<tr>
<td width="53">3</td>
<td width="161">2007-01-04 10:50:23.043</td>
<td width="78">11025.8469</td>
<td width="85">-0746.4323</td>
<td width="46">42.2</td>
<td width="86">10:50:23.043</td>
<td width="62">00:07.1</td>
</tr>
<tr>
<td width="53">3</td>
<td width="161">2007-01-04 10:50:30.780</td>
<td width="78">11025.8428</td>
<td width="85">-0746.4773</td>
<td width="46">44.4</td>
<td width="86">10:50:30.780</td>
<td width="62">00:07.7</td>
</tr>
<tr>
<td width="53">3</td>
<td width="161">2007-01-04 10:50:38.013</td>
<td width="78">11025.8375</td>
<td width="85">-0746.5316</td>
<td width="46">45.0</td>
<td width="86">10:50:38.013</td>
<td width="62">00:07.2</td>
</tr>
<tr>
<td width="53">3</td>
<td width="161">2007-01-04 10:50:45.060</td>
<td width="78">11025.8329</td>
<td width="85">-0746.5786</td>
<td width="46">46.1</td>
<td width="86">10:50:45.060</td>
<td width="62">00:07.0</td>
</tr>
<tr>
<td width="53">3</td>
<td width="161">2007-01-04 10:50:51.950</td>
<td width="78">11025.8291</td>
<td width="85">-0746.6154</td>
<td width="46">18.1</td>
<td width="86">10:50:51.950</td>
<td width="62">00:06.9</td>
</tr>
<tr>
<td width="53">3</td>
<td width="161">2007-01-04 10:50:59.200</td>
<td width="78">11025.8283</td>
<td width="85">-0746.6197</td>
<td width="46">0.0</td>
<td width="86">10:50:59.200</td>
<td width="62">00:07.3</td>
</tr>
<tr>
<td width="53">3</td>
<td width="161">2007-01-04 10:51:06.043</td>
<td width="78">11025.8288</td>
<td width="85">-0746.6256</td>
<td width="46">14.2</td>
<td width="86">10:51:06.043</td>
<td width="62">00:06.8</td>
</tr>
<tr>
<td width="53">3</td>
<td width="161">2007-01-04 10:51:13.013</td>
<td width="78">11025.8259</td>
<td width="85">-0746.6535</td>
<td width="46">32.6</td>
<td width="86">10:51:13.013</td>
<td width="62">00:07.0</td>
</tr>
<tr>
<td width="53">3</td>
<td width="161">2007-01-04 10:51:20.077</td>
<td width="78">11025.8217</td>
<td width="85">-0746.6906</td>
<td width="46">37.9</td>
<td width="86">10:51:20.077</td>
<td width="62">00:07.1</td>
</tr>
<tr>
<td width="53">3</td>
<td width="161">2007-01-04 10:51:26.920</td>
<td width="78">11025.8177</td>
<td width="85">-0746.7319</td>
<td width="46">40.5</td>
<td width="86">10:51:26.920</td>
<td width="62">00:06.8</td>
</tr>
</tbody>
</table>
<p>Keterangan:</p>
<p>Interval = waktu pengiriman dikurangi waktu pengiriman sebelumnya.</p>
<p>Dari tabel 1 di atas dapat diambil kesimpulan bahwa:</p>
<ol>
<li>Rata-rata jeda waktu pengiriman         : 7.1 detik</li>
<li>Pengiriman tercepat                                  : 6.8 detik</li>
<li>Pengiriman terlama                                   : 7.7 detik</li>
</ol>
<h2>3.3 Besar Data GPRS</h2>
<p>Besar data yang dikirim penulis dapat dari daftar log GPRS pada <em>handphone</em>.</p>
<p>Hasil penelitian didapat data sebagai berikut:</p>
<ol>
<li>Jumlah data     : 51 data</li>
<li>Total <em>sent </em> : 26.14 kb</li>
<li>Total <em>receiver </em>: 29.01 kb</li>
</ol>
<p>Jumlah data yang dikirim per satu kali kirim berdasarkan data di atas dirumuskan sebagai berikut:</p>
<p><a href="http://www.andisun.com/wp-content/uploads/2009/09/formula.png"><img class="alignnone size-full wp-image-434" title="formula" src="http://www.andisun.com/wp-content/uploads/2009/09/formula.png" alt="formula" width="296" height="45" /></a></p>
<p><a href="http://www.andisun.com/wp-content/uploads/2009/09/formula_result.png"><img class="alignnone size-full wp-image-435" title="formula_result" src="http://www.andisun.com/wp-content/uploads/2009/09/formula_result.png" alt="formula_result" width="137" height="42" /></a></p>
<p>Jadi per satu kali pengiriman data posisi sebuah taksi adalah : 1.08 Kb.</p>
<h2>3.4 Monitoring Posisi Terakhir</h2>
<p>Sebelum ditampilkan dalam MapObject, maka data dari Database yang berformat DM.m harus diubah menjadi D.d.</p>
<div id="attachment_433" class="wp-caption aligncenter" style="width: 540px"><a href="http://www.andisun.com/wp-content/uploads/2009/09/screenshoot_tracking_monitoring.png"><img class="size-full wp-image-433" title="screenshoot_tracking_monitoring" src="http://www.andisun.com/wp-content/uploads/2009/09/screenshoot_tracking_monitoring.png" alt="Visualisasi posisi terakhir" width="530" height="398" /></a><p class="wp-caption-text">Visualisasi posisi terakhir</p></div>
<p>Posisi titik yang menggambarkan taksi selalu berpindah-pindah sesuai data posisi terakhir yang diambil dari database.</p>
<h2>3.5 Tracking Kendaraan</h2>
<p>Proses tracking kendaraan diawali dengan mengambil data track dari database berdasarkan tanggal tertentu. Titik awal pergerakan diwakili dengan titik berwarna merah sedangkan titik yang bergerak berwarna hijau, sedangkan garis track yang dilalui berwarna biru.</p>
<div id="attachment_437" class="wp-caption aligncenter" style="width: 540px"><a href="http://www.andisun.com/wp-content/uploads/2009/09/screenshot_tracking_line_track.png"><img class="size-full wp-image-437" title="screenshot_tracking_line_track" src="http://www.andisun.com/wp-content/uploads/2009/09/screenshot_tracking_line_track.png" alt="Visualisasi garis diambil berdasarkan koordinat" width="530" height="398" /></a><p class="wp-caption-text">Visualisasi garis diambil berdasarkan koordinat</p></div>
<p>Hasil penelitian bahwa garis track dihasilkan dengan menggabungkan sebuah posisi dengan posisi berikutnya. Hasil garis track secara visual kadang tidak sesuai dengan jalur jalan. Hal tersebut dapat terjadi pada saat jalan bercabang kendaraan tidak mengirimkan posisinya.</p>
<h1>4.  KESIMPULAN</h1>
<p>Dari hasil penelitian, perancangan dan implementasi yang telah dilakukan maka dapat disimpulkan bahwa:</p>
<ol>
<li>Koordinat yang diperoleh dari modul <a href="http://www.andisun.com/jurnal/menentukan-posisi-dengan-global-positioning-system-gps">GPS <em>receiver</em></a> dalam bentuk DM.m harus diubah ke bentuk D.d agar dikenali pada MapObject.</li>
<li>Proses pengiriman data menggunakan GPRS rata-rata membutuhkan waktu sekitar 3 detik dengan jumlah data yang dikirim sebesar 1.08 KB.</li>
<li>Aplikasi <a href="http://www.andisun.com/artikel/sekilas-java-2-microedition-j2me">J2ME </a>yang diinstall pada <em>handphone</em> belum berfungsi maksimal (100%) karena pada waktu tak tentu aplikasi tertutup sendiri.</li>
<li>Ketepatan visualisasi posisi dan tracking ditentukan oleh akurasi modul <a href="http://www.andisun.com/jurnal/menentukan-posisi-dengan-global-positioning-system-gps">GPS <em>receiver</em></a> dan peta digital yang digunakan.</li>
</ol>
<h1>5.  DAFTAR PUSTAKA</h1>
<ol>
<li>[And07] Sunyoto, Andi., 2007, ”Thesis: Integrasi Modul GPS Receiver dan GPRS untuk Penentuan Posisi dan Jalur Pergerakan Obyek Bergerak (Studi Kasus : Penentuan Posisi Taksi di Yogyakarta)”, S2 Jurusan Ilmu Komputer, UGM, 2007.</li>
<li>[Bal--] Baldus, G., Kim J.,____“Collier County Government: Integrating GIS and Real-Time Vehicle Tracking for County Emergency Response”, Naples, Florida.</li>
<li>[Fal00] Fallon, E., 2000, “Dublin Bus Tracking Service Design and implementation of a device independent passenger information”,  http://citeseer.ist.psu.edu/rd/79396097%2C435540%2C1%2C0.25%2CDownload/ftp%3AqSqqSqftp.cs.tcd.ieqSqpubqSqtech-reportsqSqreports.00qSqTCD-CS-2000-47.pdf, (Di download 26 Juni 2006).</li>
<li>[Fen01] Feng Y, Zhu J., &#8220;Wireless Java Programming with Java 2 Micro Edition&#8221;, SAMS, Indianapolish, 2001.</li>
<li>[Haf96] Hafberg, G., 1996, “Integration of Geographic Informastion Systems and Navigation Systems for Moving (Dynamic) Objects Like Vehiclas and Ship “,  http://gis.esri.com/library/userconf/proc95/to300/p272.html.</li>
<li>[Has95] Hasanuddin, A.Z., 1995.,  “Penentuan Posisi dengan GPS dan Aplikasinya”. Pradnya Paramita. Jakarta.</li>
<li>[Pet06] Peter&#8217;s and Joe&#8217;s, 2006,  “NMEA Data”, http://www.gpsinformation.org/dale/nmea.htm, 4 Dec 2006.</li>
<li>[Pra02] Prahasta, E., 2002 “Konsep-Konsep Dasar Sistem Informasi Geografis”, Informatika, Bandung.</li>
<li>[Sch05] Schmidt, A., Holleis, P., Kranz, Matthias., Rukzio, E., ____, “Accessing GPS Receiver from Mobile Phone Via Bluetooth”, http://www.hcilab.org/documents/tutorials/BT_GPS/BT_GPS.htm, Ludwig-Maximilians-University Munich, Desember 2005.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.andisun.com/jurnal/mobile-tracking-memanfaatkan-teknologi-global-positioning-system-gps-dan-general-packet-radio-service-gprs/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>J2ME: Pengaksesan File Multimedia Pada Mobile Device dengan MMAPI</title>
		<link>http://www.andisun.com/jurnal/j2me-pengaksesan-file-multimedia-pada-mobile-device-dengan-mmapi-2</link>
		<comments>http://www.andisun.com/jurnal/j2me-pengaksesan-file-multimedia-pada-mobile-device-dengan-mmapi-2#comments</comments>
		<pubDate>Thu, 03 Sep 2009 02:24:20 +0000</pubDate>
		<dc:creator>myandisun</dc:creator>
				<category><![CDATA[Jurnal]]></category>
		<category><![CDATA[Device]]></category>
		<category><![CDATA[Interface]]></category>
		<category><![CDATA[J2ME]]></category>
		<category><![CDATA[MMAPI]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Multimedia]]></category>
		<category><![CDATA[Player]]></category>

		<guid isPermaLink="false">http://www.andisun.com/?p=397</guid>
		<description><![CDATA[By: Andi Sunyoto Abstraksi Mobile Media API (MMAPI) is an optional package yang mendukung aplikasi multimedia di peralatan J2ME. Ini adalah standar Java yang ditetapkan oleh Java Community Process (JCP) dalam JSR 135. Standar ini didesain fleksibel jalan di beberapa protokol dan format; contoh pengimplementasiannya tidak harus dengan protokol HTTP atau Real-Time Transport Protokol (RTP) [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">By: Andi Sunyoto</p>
<p align="center">Abstraksi</p>
<p align="center"><em>Mobile Media API (MMAPI)</em> is an <em>optional package</em> yang mendukung aplikasi multimedia di peralatan J2ME. Ini adalah standar Java yang ditetapkan oleh <em>Java Community Process (JCP)</em> dalam JSR 135. Standar ini didesain fleksibel jalan di beberapa protokol dan format; contoh pengimplementasiannya tidak harus dengan protokol HTTP atau <em>Real-Time Transport Protokol (RTP) </em>saja, atau media dengan format MP3. MIDI atau MPEG-4 saja.</p>
<h2>Pengantar MMAPI</h2>
<p>Artikel ini menyediakan suatu pengenalan dari arsitektur MMAPI dan API, yang dilengkapi suatu contoh kode yang menunjukkan bagaimana MMAPI dapat digunakan untuk membangun aplikasi-aplikasi multimedia <em>Wireless Java</em>.</p>
<p>MMAPI sudah dirancang untuk berjalan di setiap virtual machine berbasis J2ME, termasuk CDC dan CLDC.</p>
<p>Pengembang MMAPI dirancang dengan fitur sebagai berikut:</p>
<ul>
<li>Mendukung untuk <em>Tone Generation, Playback, and Recording of Time-Based Media</em>: paket ini mendukung setiap isi audio dan video yang berbasis waktu (time-based).</li>
<li><em>Small Footprint</em>:<em> </em>MMAPI bekerja pada batas-batas memori yang tegas dari alat-alat CLDC.</li>
<li><em>Protocol- and Content-Agnostic</em>:<em> </em>API tidak dibiaskan ke tipe atau protokol yang spesifik.</li>
<li><em>Subsettable: </em>pengembang dapat mendukung tipe tertentu.</li>
<li><em>Extensible</em>: Fitur baru dapat ditambahkan dengan mudah tanpa menghilangkan kemampuan sistem yang sebelumnya. Lebih penting lagi, format-format tambahan dapat dengan mudah didukung, dikbuat framework dan ditempatkan untuk kontrol tambahan.</li>
<li><em>Options for Implementers</em>: API menawarkan fitur untuk tujuan-tujuan yang tertentu. API didesain dan dirancang untuk mengizinkan developer meninggalkan beberapa fitur jika mereka tidak bisa didukung.</li>
</ul>
<h2>Multimedia Processing</h2>
<p>Ada dua bagian untuk mengolah multimedia:</p>
<ul>
<li><em>Protocol Handling: </em>membaca data dari suatu sumber seperti sebuah file atau suatu streaming server ke dalam sistem media-processing.</li>
<li><em>Content Handling</em>: menguraikan (parsing) atau decoding data dan merendernya menjadi sebuah keluaran seperti spiker audio atau layar video.</li>
</ul>
<p>Agar dapat memfasilitasi operasi di atas, API menyediakan dua tipe obyek high-level:</p>
<ul>
<li>DataSource mengencapsulasi penanganan protokol dengan penyembunyian detail bagaimana data itu dibaca dari sumbernya. Method obyek mempunyai berguna yang memungkinkan obyek Player menangani  isi.</li>
<li>Player membaca data dari DataSource, memprosesnya merendernya untuk ditampilkan di piranti. Obyek ini menyediakan metoda untuk mengendalikan media untuk playback, termasuk metoda untuk mengendalikan tipe tertentu mengakses fitur tipe media tertentu..</li>
</ul>
<p>MMAPI menetapkan obyek ketiga, sebuah mekanisme yang dikenal sebagai Manager yang memungkinkan aplikasi membuat Players dari DataSources, dan dari InputStreams.</p>
<p align="center">
<p align="center">
<div id="attachment_398" class="wp-caption aligncenter" style="width: 383px"><img class="size-full wp-image-398" title="arsitektur_mmapi_j2me" src="http://www.andisun.com/wp-content/uploads/2009/09/arsitektur_mmapi_j2me.png" alt="Arsitektur MMAPI" width="373" height="235" /><p class="wp-caption-text">Arsitektur MMAPI</p></div>
<p><span id="more-397"></span></p>
<p>Obyek Manager menyediakan method createPlayer(), yang merupakan level tertinggi API untuk memasukkan input. Berikut contoh penggunaannya:</p>
<pre>...
Player player = Manager.createPlayer(String url);
...</pre>
<p>Keterangan:</p>
<ul>
<li>url : berisi protokol dan isi url</li>
<li>format pengisian url &lt;protokol&gt;:&lt;isi lokasi&gt;</li>
</ul>
<p>Aplikasi menggunakan method yang dikembalikan Player untuk mengontrol data yang didapatkan dan playback media yang berdasarkan waktu <em>(time-based)</em>.</p>
<p><em>Life-cycle Player</em> berisi lima keadaan: UNREALIZED, REALIZED, PREFETCHED, STARTED, dan CLOSED. Ke enam method menghasilkan transisi keadaan:</p>
<pre>realize()
prefetch()
start()
stop()
deallocate()
close()</pre>
<p>Ketika sebuah player dibuat, berubah ke keadaan UNREALIZED. Kemudian memanggil realize() pindah ke keadaan REALIZED dan menganalisa informasi. Memanggil prefetch() keadaan pindah ke PREFETCHED, menetapkan koneksi jaringan untuk streaming data, dan melakukan tugas-tugas inisialisasi lainnya. Memangil start() menyebabkan transisi ke keadaan STARTED, dimana player dapat memproses data. Ketika selesai memproses data (sampai ke bagian terakhir data), akan mengembalikan keadaan PREFETCHED. Memanggil close() meyebabkan player pindah ke status CLOSED.</p>
<p>Sebuah Player menyediakan kendali yang dikhususkan untuk jenis tertentu dari media yang memproses. Aplikasi menggunakan getControl() untuk memperoleh suatu kendali, atau getControls() untuk mendapat satu berpakaian tentang mereka. Sebagai satu contoh, jika suatu pemain untuk MIDI menggunakan getControl() itu, maka akan mendapat MIDIControl.</p>
<p>MMAPI dikemas dalam tiga paket:</p>
<ul>
<li>javax.microedition.media menyediakan beberapa interface, sebuah exception, dan class Manager, merupakan titik akses untuk memperoleh sumber daya, seperti Players untuk pengolahan multimedia.</li>
<li>javax.microedition.media.control menetapkan tipe control spesifik yang dapat digunakan dengan sebuah Player: VolumeControl, VideoControl, dan lainnya.</li>
<li>javax.microedition.media.protocol menetapkan protokol untuk menangani control yang berbeda.</li>
</ul>
<p>Class, interface dan exception yang ada dipaket ini berisi dapat dilihat pada tabel berikut:</p>
<p style="text-align: left;">Tabel 1 : Class MMAPI</p>
<table style="width: 589px; height: 258px;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="243" valign="top"><strong>Package</strong></td>
<td width="141" valign="top"><strong>Class</strong></td>
<td width="207" valign="top"><strong>Keterangan</strong></td>
</tr>
<tr>
<td width="243" valign="top">javax.microedition.media</td>
<td width="141" valign="top">Manager</td>
<td width="207" valign="top">Akses untuk   memperoleh sumber daya pada system-dependent, seperti Player   untuk mengolah multimedia.</td>
</tr>
<tr>
<td width="243" valign="top">javax.microedition.media.protocol</td>
<td width="141" valign="top">ContentDescriptor</td>
<td width="207" valign="top">Mendeskripsikan   tipe isi dari media.</td>
</tr>
<tr>
<td width="243" valign="top">javax.microedition.media.protocol</td>
<td width="141" valign="top">DataSource</td>
<td width="207" valign="top">Menunjukkan bentuk abstraksi untuk protokol media   menangani penyembunyian detail bagaimana data itu dibaca dari suatu file   media atau server streaming; menyediakan  method untuk Player mengakses   data masukan.</td>
</tr>
</tbody>
</table>
<p style="text-align: left;">Table 2: MMAPI Interfaces</p>
<table style="width: 583px; height: 1018px;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="235" valign="top"><strong>Package</strong></td>
<td width="165" valign="top"><strong>Interface</strong></td>
<td width="174" valign="top"><strong>Keterangan</strong></td>
</tr>
<tr>
<td width="235" valign="top">javax.microedition.media</td>
<td width="165" valign="top">Control</td>
<td width="174" valign="top">Digunakan untuk mengendalikan beberapa pengolahan media   yang berhubungan dengan fungsi:diperoleh dari interface Controllable,   diturunkan oleh Player; mungkinkan suatu Player   untuk menggunakan, sebagai contoh VolumeControl untuk mengizinkan user untuk   menset volume.</td>
</tr>
<tr>
<td width="235" valign="top">javax.microedition.media</td>
<td width="165" valign="top">Controllable</td>
<td width="174" valign="top">Menyediakan sebuah interface untuk memperoleh Control   dari Player   atau obyek lain.</td>
</tr>
<tr>
<td width="235" valign="top">javax.microedition.media</td>
<td width="165" valign="top">Player</td>
<td width="174" valign="top">Digunakan untuk mengontrol render dari data media.   Menyediakan method untuk mengatur life-cycle Player.</td>
</tr>
<tr>
<td width="235" valign="top">javax.microedition.media</td>
<td width="165" valign="top">PlayerListener</td>
<td width="174" valign="top">Menerima event yang dibuat oleh Player.</td>
</tr>
<tr>
<td width="235" valign="top">javax.microedition.media</td>
<td width="165" valign="top">TimeBase</td>
<td width="174" valign="top">Mengetahui urutan program tiap waktunya; digunakan untuk   ukuran waktu proses, dan sikronisais media playback dengan banyak user.</td>
</tr>
<tr>
<td width="235" valign="top">javax.microedition.media.control</td>
<td width="165" valign="top">FramePositionControl</td>
<td width="174" valign="top">Mengontrol secara persis posisi frame dari video untuk   sebuah Player.</td>
</tr>
<tr>
<td width="235" valign="top">javax.microedition.media.control</td>
<td width="165" valign="top">GUIControl</td>
<td width="174" valign="top">Harus   diimplementasikan pada setiap control yang mendukung komponen GUI.</td>
</tr>
<tr>
<td width="235" valign="top">javax.microedition.media.control</td>
<td width="165" valign="top">MetaDataControl</td>
<td width="174" valign="top">Digunakan untuk   mendapatkan informasi metadata di dalam media streaming.</td>
</tr>
<tr>
<td width="235" valign="top">javax.microedition.media.control</td>
<td width="165" valign="top">MIDIControl</td>
<td width="174" valign="top">Menyediakan akses render dan mengirimkan MIDI.</td>
</tr>
<tr>
<td width="235" valign="top">javax.microedition.media.control</td>
<td width="165" valign="top">PitchControl</td>
<td width="174" valign="top">Mengontrol pola playback audio tanpa merubah kecepatan   playback.</td>
</tr>
<tr>
<td width="235" valign="top">javax.microedition.media.control</td>
<td width="165" valign="top">RateControl</td>
<td width="174" valign="top">Mengontrol playback rate dari player.</td>
</tr>
<tr>
<td width="235" valign="top">javax.microedition.media.control</td>
<td width="165" valign="top">RecordControl</td>
<td width="174" valign="top">Mengontrol recoding media dari   player.</td>
</tr>
<tr>
<td width="235" valign="top">javax.microedition.media.control</td>
<td width="165" valign="top">StopTimeControl</td>
<td width="174" valign="top">Digunakan menentukan waktu stop untuk sebuah player.</td>
</tr>
<tr>
<td width="235" valign="top">javax.microedition.media.control</td>
<td width="165" valign="top">TempoControl</td>
<td width="174" valign="top">Mengontrol   tempo sebuah lagu: diimplementasikan dalam player pada file MIDI.</td>
</tr>
<tr>
<td width="235" valign="top">javax.microedition.media.control</td>
<td width="165" valign="top">ToneControl</td>
<td width="174" valign="top">Mungkinkan user   playback (memutar ulang) urutan nada-nada tunggal.</td>
</tr>
<tr>
<td width="235" valign="top">javax.microedition.media.control</td>
<td width="165" valign="top">VideoControl</td>
<td width="174" valign="top">Mengontrol   tampilan video, sebagai contoh lokasinya dicanvas dimana video ditampilkan.</td>
</tr>
<tr>
<td width="235" valign="top">javax.microedition.media.control</td>
<td width="165" valign="top">VolumeControl</td>
<td width="174" valign="top">Mengontrol volume player.</td>
</tr>
<tr>
<td width="235" valign="top">javax.microedition.media.protocol</td>
<td width="165" valign="top">SourceStream</td>
<td width="174" valign="top">Digunakan   bersama dengan DataSource untuk menyediakan interface   masukan Player; turunan dari interface   Controllable, sehingga menyediakan kendali yang spesifik.</td>
</tr>
</tbody>
</table>
<p style="text-align: left;">Table 3: MMAPI Exceptions</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="197" valign="top"><strong>Package</strong></td>
<td width="197" valign="top"><strong>Exception</strong></td>
<td width="197" valign="top"><strong>Keterangan</strong></td>
</tr>
<tr>
<td width="197" valign="top">javax.microedition.media</td>
<td width="197" valign="top">MediaException</td>
<td width="197" valign="top">Melaporkan kesalahan tidak terduga (unexpected)   method mengolaah media.</td>
</tr>
</tbody>
</table>
<h2>Menggunakan MMAPI</h2>
<p>Pada bagian ini akan dibahas bagaimana memanfaatkan MMAPI untuk membangun aplikasi J2ME berbasis MMAPI.</p>
<h3>Aplikasi Tone</h3>
<p>Pembuatan Tone di identikkan dengan frekusi dan durasi. Tipe ini penting untuk game dan aplikasi audio, terutama untuk peralatan kecil, dimana hanya mempunyai kemampuan multimedia yang terbatas. Method Manager.playTone() membuat tone. Implemtasinya dapat dipetakan pada hardware tone generator, yaitu menetapkan note, durasi, dan volume.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p397code16'); return false;">View Code</a> JAVA</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p39716"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code" id="p397code16"><pre class="java" style="font-family:monospace;">...
<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
   <span style="color: #666666; font-style: italic;">// play a tone for 4000 milliseconds at volume 100</span>
   Manager.<span style="color: #006633;">playTone</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span>ToneControl.<span style="color: #006633;">C4</span>, <span style="color: #cc66cc;">4000</span>, <span style="color: #cc66cc;">100</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">catch</span><span style="color: #009900;">&#40;</span>MediaException me<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #009900;">&#125;</span>
...</pre></td></tr></table></div>

<h3>Aplikasi MP3 Playback</h3>
<p>Berikut contoh simple bagaimana memutar file mp3 tanpa dilengkapi pengontrol.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p397code17'); return false;">View Code</a> JAVA</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p39717"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
</pre></td><td class="code" id="p397code17"><pre class="java" style="font-family:monospace;">...
<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
   Player p <span style="color: #339933;">=</span> Manager.<span style="color: #006633;">createPlayer</span>
	 <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;http://server/somemusic.mp3&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   p.<span style="color: #006633;">setLoopCount</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   p.<span style="color: #006633;">start</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">catch</span><span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aioexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">IOException</span></a> ioe<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">catch</span><span style="color: #009900;">&#40;</span>MediaException e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #009900;">&#125;</span>
...</pre></td></tr></table></div>

<p>Berikut potongan program yang dilengkapi dengan pegontrol media.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p397code18'); return false;">View Code</a> JAVA</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p39718"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
</pre></td><td class="code" id="p397code18"><pre class="java" style="font-family:monospace;">...
<span style="color: #006633;">Player</span> p<span style="color: #339933;">;</span>
VolumeControl vc<span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
   p <span style="color: #339933;">=</span> Manager.<span style="color: #006633;">createPlayer</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;http://server/somemusic.mp3&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   p.<span style="color: #006633;">realize</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #666666; font-style: italic;">// get volume control for player and set volume to max</span>
   vc <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>VolumeControl<span style="color: #009900;">&#41;</span> p.<span style="color: #006633;">getControl</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;VolumeControl&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>vc <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	  vc.<span style="color: #006633;">setVolume</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">100</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span>
   <span style="color: #666666; font-style: italic;">// the player can start with the smallest latency</span>
   p.<span style="color: #006633;">prefetch</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #666666; font-style: italic;">// non-blocking start</span>
   p.<span style="color: #006633;">start</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">catch</span><span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aioexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">IOException</span></a> ioe<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">catch</span><span style="color: #009900;">&#40;</span>MediaException e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #009900;">&#125;</span>
...</pre></td></tr></table></div>

<p>Karena semua InputStream dapat dilewatkan method Manager.createPlayer(), maka aplikasi dapat diputar ulang media dari MIDP Record Management System (RMS), atau dari file JAR. Berikut ini bagaimana memperoleh InputStream dari RMS dan memutar media yang disimpan didalamnya.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p397code19'); return false;">View Code</a> JAVA</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p39719"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
</pre></td><td class="code" id="p397code19"><pre class="java" style="font-family:monospace;">...
<span style="color: #006633;">RecordStore</span> store<span style="color: #339933;">;</span>
<span style="color: #000066; font-weight: bold;">int</span> id<span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// play back from a record store</span>
<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
   <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Ainputstream+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">InputStream</span></a> is <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abytearrayinputstream+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">ByteArrayInputStream</span></a>
	 <span style="color: #009900;">&#40;</span>store.<span style="color: #006633;">getRecord</span><span style="color: #009900;">&#40;</span>id<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   Player player <span style="color: #339933;">=</span> Manager.<span style="color: #006633;">createPlayer</span><span style="color: #009900;">&#40;</span>is, <span style="color: #0000ff;">&quot;audio/X-wav&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   p.<span style="color: #006633;">start</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aioexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">IOException</span></a> ioe<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span>MediaException me<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #009900;">&#125;</span>
...</pre></td></tr></table></div>

<p>Di bawah ini contoh yang menyimpan mediannya di file JAR.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p397code20'); return false;">View Code</a> JAVA</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p39720"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
</pre></td><td class="code" id="p397code20"><pre class="java" style="font-family:monospace;">...
<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
   <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Ainputstream+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">InputStream</span></a> is <span style="color: #339933;">=</span>
	 getClass<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getResourceAsStream</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;audio.wav&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   Player player <span style="color: #339933;">=</span> Manager.<span style="color: #006633;">createPlayer</span><span style="color: #009900;">&#40;</span>is, <span style="color: #0000ff;">&quot;audio/X-wav&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   p.<span style="color: #006633;">start</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">catch</span><span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aioexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">IOException</span></a> ioe<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">catch</span><span style="color: #009900;">&#40;</span>MediaException me<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #009900;">&#125;</span>
...</pre></td></tr></table></div>

<h3>Aplikasi Video Playback</h3>
<p>Berikut potongan program yang menunjukkan bagaimana memutar sebuah video berformat MPG.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p397code21'); return false;">View Code</a> JAVA</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p39721"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
</pre></td><td class="code" id="p397code21"><pre class="java" style="font-family:monospace;">...
<span style="color: #006633;">Player</span> p<span style="color: #339933;">;</span>
VideoControl vc<span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
   p <span style="color: #339933;">=</span> Manager.<span style="color: #006633;">createPlayer</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;http://server/somemovie.mpg&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   p.<span style="color: #006633;">realize</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #666666; font-style: italic;">// get video control</span>
   vc <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>VideoControl<span style="color: #009900;">&#41;</span> p.<span style="color: #006633;">getControl</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;VideoControl&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   ....
   <span style="color: #006633;">p</span>.<span style="color: #006633;">start</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">catch</span><span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aioexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">IOException</span></a> ioe<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">catch</span><span style="color: #009900;">&#40;</span>MediaException me<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #009900;">&#125;</span>
...</pre></td></tr></table></div>

<h3>Aplikasi Camera</h3>
<p>MMAPI memasukkan dukungan kamera di dalamnya.</p>
<h4>Capture Video dari Player</h4>
<p>Penentuan lokasi untuk kamera menggunakan: capture://video. Suatu aplikasi dapat menggunakan VideoControl untuk menampilkan suatu view finder di layar dengan ukuran standar.</p>
<pre>mPlayer = Manager.createPlayer("capture://video");</pre>
<p>Jika piranti yang digunakan tidak mendukung video capture, maka akan menghasilkan MediaException. Jika MediaException bernilai true medukung video capture.</p>
<p>Player perlu di release untuk memperoleh resource yang diperlukan dalam mengambil gambar.</p>
<pre>mPlayer.realize();</pre>
<h4>Menampilkan Camera Video</h4>
<p>Video yang berasal dari camera dapat ditampilkan di layar sebagai salah satu Item dalam Form atau bagian dari Canvas. Sebuah VideoControl membuatnya mungkin. VideoControl dapat diperoleh dari Player.</p>
<pre>mVideoControl = (VideoControl)
mPlayer.getControl("VideoControl");</pre>
<p>Jika mengharapkan menampilkan video dari camera di Canvas, inisialisasi VideoControl, kemudian set ukuran dan lokasi dari video di dalam Canvas, kemudian buat video menjadi terlihat (visible). Contoh berikut (konstruktor Canvas dan subclass) menunjukkan bagaimana video ditempatkan dua pixel di dalam form Canvas. Jika video tidak dapat ditempatkan pada lokasi yang ditentukan, maka oleh kontruktor diset menjadi satu layar penuh (full screen). Langkah terakhir adalah memanggil method setVisible() agar camera tampil.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p397code22'); return false;">View Code</a> JAVA</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p39722"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
</pre></td><td class="code" id="p397code22"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> CameraCanvas<span style="color: #009900;">&#40;</span>SnapperMIDlet midlet,
	VideoControl videoControl<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #000066; font-weight: bold;">int</span> width <span style="color: #339933;">=</span> getWidth<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #000066; font-weight: bold;">int</span> height <span style="color: #339933;">=</span> getHeight<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
  mSnapperMIDlet <span style="color: #339933;">=</span> midlet<span style="color: #339933;">;</span>
&nbsp;
  videoControl.<span style="color: #006633;">initDisplayMode</span><span style="color: #009900;">&#40;</span>
	  VideoControl.<span style="color: #006633;">USE_DIRECT_VIDEO</span>, <span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
	videoControl.<span style="color: #006633;">setDisplayLocation</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	videoControl.<span style="color: #006633;">setDisplaySize</span><span style="color: #009900;">&#40;</span>width <span style="color: #339933;">-</span> <span style="color: #cc66cc;">4</span>, height <span style="color: #339933;">-</span> <span style="color: #cc66cc;">4</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
  <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span>MediaException me<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span> videoControl.<span style="color: #006633;">setDisplayFullScreen</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span>MediaException me2<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#125;</span>
  videoControl.<span style="color: #006633;">setVisible</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Menampilkan video camera dalam sebuah Form hanya berbeda sedikit. Pada method initDisplayMode() pada VideoControl dari USE_DIRECT_VIDEO diganti dengan USE_GUI_PRIMITIVE. Dalam piranti MIDP dapat memperoleh Item yang dan dapat ditempatkan di dalam sebuah Form untuk ditampilkan.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p397code23'); return false;">View Code</a> JAVA</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p39723"><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code" id="p397code23"><pre class="java" style="font-family:monospace;">Form form <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Form<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Camera form&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
Item item <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>Item<span style="color: #009900;">&#41;</span>mVideoControl.<span style="color: #006633;">initDisplayMode</span><span style="color: #009900;">&#40;</span>
GUIControl.<span style="color: #006633;">USE_GUI_PRIMITIVE</span>, <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
form.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span>item<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<h4>Capture Image</h4>
<p>Sekali camera dapat ditampilkan dipiranti, maka capture sebuah image dapat dilakukan dengan mudah dengan memanggil getSnapshot() pada VideoControl. Method tersebut dapat dilengkapi dengan tipe gambar atau tanpa tipe gambar. Default gambar yang dihasilkan bertipe PNG tergantung dengan tipe handset yang digunakan.</p>
<p>Method getSnapshot() mengembalikan sebuah array bertipe byte, yang merupakan data image dalam format yang diinginkan. Dari hasil array tersebut poin yang dapat diambil adalah: mungkin menyimpan byte tersebut dalam record store, mengirimkan ke server atau membuat sebuah Image dari array tersebut sehingga user dapat melihat gambar yang baru saja diambilnya. Berikut contoh pembuatan Image dari array yang dihasilkan dari method getSnapshot().</p>
<pre>byte[] raw = mVideoControl.getSnapshot(null);
Image image = Image.createImage(raw, 0, raw.length);</pre>
<h4>Membuat Thumbnail Image</h4>
<p>Satu hal kelihatannya sederhana adalah bagaimana menampilkan image (gambar) dengan thumbnail, suatu versi menangkap gambar dari kamera. Pada MIDP 2.0 di dalamnya terdapat method untuk memperoleh MIDP 20 memasukkan di dalamnya metoda untuk memperoleh nilai piksel paling luar dari image, dengan nilai tersebut memungkinkan membuat skala transformasi yang benar. Sayangnya MIDP 1.0 tidak dapat menghasilkan data piksel.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p397code24'); return false;">View Code</a> JAVA</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p39724"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
</pre></td><td class="code" id="p397code24"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">private</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aimage+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Image</span></a> createThumbnail<span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aimage+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Image</span></a> image<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #000066; font-weight: bold;">int</span> sourceWidth <span style="color: #339933;">=</span> image.<span style="color: #006633;">getWidth</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #000066; font-weight: bold;">int</span> sourceHeight <span style="color: #339933;">=</span> image.<span style="color: #006633;">getHeight</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #000066; font-weight: bold;">int</span> thumbWidth <span style="color: #339933;">=</span> <span style="color: #cc66cc;">64</span><span style="color: #339933;">;</span>
  <span style="color: #000066; font-weight: bold;">int</span> thumbHeight <span style="color: #339933;">=</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>thumbHeight <span style="color: #339933;">==</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>
	thumbHeight <span style="color: #339933;">=</span> thumbWidth <span style="color: #339933;">*</span> sourceHeight <span style="color: #339933;">/</span> sourceWidth<span style="color: #339933;">;</span>
&nbsp;
  <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aimage+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Image</span></a> thumb <span style="color: #339933;">=</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aimage+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Image</span></a>.<span style="color: #006633;">createImage</span><span style="color: #009900;">&#40;</span>thumbWidth, thumbHeight<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Agraphics+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Graphics</span></a> g <span style="color: #339933;">=</span> thumb.<span style="color: #006633;">getGraphics</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> y <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> y <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> thumbHeight<span style="color: #339933;">;</span> y<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> x <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> x <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> thumbWidth<span style="color: #339933;">;</span> x<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	  g.<span style="color: #006633;">setClip</span><span style="color: #009900;">&#40;</span>x, y, <span style="color: #cc66cc;">1</span>, <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	  <span style="color: #000066; font-weight: bold;">int</span> dx <span style="color: #339933;">=</span> x <span style="color: #339933;">*</span> sourceWidth <span style="color: #339933;">/</span> thumbWidth<span style="color: #339933;">;</span>
	  <span style="color: #000066; font-weight: bold;">int</span> dy <span style="color: #339933;">=</span> y <span style="color: #339933;">*</span> sourceHeight <span style="color: #339933;">/</span> thumbHeight<span style="color: #339933;">;</span>
	  g.<span style="color: #006633;">drawImage</span><span style="color: #009900;">&#40;</span>image, x <span style="color: #339933;">-</span> dx, y <span style="color: #339933;">-</span> dy,
		  <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Agraphics+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Graphics</span></a>.<span style="color: #006633;">LEFT</span> <span style="color: #339933;">|</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Agraphics+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Graphics</span></a>.<span style="color: #006633;">TOP</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aimage+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Image</span></a> immutableThumb <span style="color: #339933;">=</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aimage+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Image</span></a>.<span style="color: #006633;">createImage</span><span style="color: #009900;">&#40;</span>thumb<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">return</span> immutableThumb<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>MMAPI mendukung beberapa format audio dan video, yaitu:</p>
<ul>
<li>Audio: PCM and WAV</li>
<li> MIDI: Type 0 (single track), Type 1 (multiple tracks), and SP-MIDI</li>
<li> Video: MPEG-1</li>
</ul>
<h2>Kesimpulan</h2>
<p>Mobile Media API adalah suatu API yang fleksibel dan powerfull yang menyediakan rendering dan capture data audio dan video. Lokasi file dapat ditempatkan di piranti mobile maupun di server dengan memanfaatkan koneksi jaringan internet.</p>
<h2>Daftar Pustaka</h2>
<ul>
<li>Knudsen, Jonathan., Taking Pictures with MMAPI., http://developers.sun.com/mobility/midp/articles/picture/., July 2003</li>
<li>Mahmoud, H, Qusay., The J2ME Mobile Media API., http://developers.sun.com/mobility/midp/articles/mmapioverview/., June 2003</li>
<li>Feng, Yu and Zhu Jun; Wireless Java Programming with 2 Micro Edition; SAMS; Indianapolis; USA; 2001</li>
<li>Keogh, James; J2ME:The Complete Reference; McGraw-Hill; New York;</li>
<li>Riggs, Roger; Taivalsaari, Antero; Peursem, Van, Jim; Huopaniemi, Jyri; Patel, Mark;  Uotila,  Aleksi; Editor,  Holliday, Jim; Programming Wireless Devices with the Java™ 2 Platform, Micro Edition, Second Edition; Addison Wesley; Juni 2003.</li>
<li>Sun Developer Network;Java 2 Platform, Micro Edition (J2ME); JSR 68 Overview;</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.andisun.com/jurnal/j2me-pengaksesan-file-multimedia-pada-mobile-device-dengan-mmapi-2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://server/somemusic.mp3" length="1245" type="audio/mpeg" />
<enclosure url="http://server/somemovie.mpg" length="1245" type="video/mpeg" />
		</item>
		<item>
		<title>J2ME: Memanfaatkan Class TextBox</title>
		<link>http://www.andisun.com/tutorials/j2me-programming/j2me-memanfaatkan-class-textbox</link>
		<comments>http://www.andisun.com/tutorials/j2me-programming/j2me-memanfaatkan-class-textbox#comments</comments>
		<pubDate>Wed, 29 Jul 2009 00:21:15 +0000</pubDate>
		<dc:creator>myandisun</dc:creator>
				<category><![CDATA[J2ME-Mobile Programming]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[J2ME]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[TextBox]]></category>

		<guid isPermaLink="false">http://www.andisun.com/?p=312</guid>
		<description><![CDATA[Class TextBox merupakan turunan dari class Screen yang merepresentasikan sebuah kotak untuk mengisi teks. Konstruktor class TextBox adalah sebagai berikut: TextBox(String title, String text, int maxSize, int constraints); Agar lebih jelas untuk memahami tentang class TextBox berikut contoh programnya: ?View Code JAVA1 2 3 4 5 6 7 8 9 10 11 12 13 14 [...]]]></description>
			<content:encoded><![CDATA[<p>Class <span style="font-family: courier new,courier;">TextBox</span> merupakan turunan dari class <span style="font-family: courier new,courier;">Screen </span>yang merepresentasikan sebuah kotak untuk mengisi teks.</p>
<p>Konstruktor class TextBox adalah sebagai berikut:</p>
<p style="padding-left: 30px;"><span style="font-family: terminal,monaco;">TextBox(String title, String text, int maxSize, int constraints);</span></p>
<p>Agar lebih jelas untuk memahami tentang class <span style="font-family: courier new,courier;">TextBox </span>berikut contoh programnya:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p312code26'); return false;">View Code</a> JAVA</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p31226"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
</pre></td><td class="code" id="p312code26"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.microedition.midlet.*</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.microedition.lcdui.*</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> MIDTextBox <span style="color: #000000; font-weight: bold;">extends</span> MIDlet <span style="color: #000000; font-weight: bold;">implements</span> CommandListener <span style="color: #009900;">&#123;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">private</span> Display display<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">private</span> TextBox txt<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">private</span> Form form<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">private</span> Alert alert<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">private</span> Command cmdExit<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">private</span> Command cmdSetText<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">private</span> Command cmdInsertText<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">private</span> Command cmdClearText<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">private</span> Command cmdInfoText<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">private</span> Command cmdBack<span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> MIDTextBox<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        display <span style="color: #339933;">=</span> Display.<span style="color: #006633;">getDisplay</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        txt <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> TextBox<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Contoh Midlet TextBox&quot;</span>, <span style="color: #000066; font-weight: bold;">null</span>, <span style="color: #cc66cc;">256</span>, <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Atextfield+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">TextField</span></a>.<span style="color: #006633;">ANY</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        cmdExit <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Command<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Exit&quot;</span>, Command.<span style="color: #006633;">EXIT</span>, <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        cmdSetText <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Command<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Set Text&quot;</span>, Command.<span style="color: #006633;">SCREEN</span>, <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        cmdInsertText <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Command<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Insert&quot;</span>, Command.<span style="color: #006633;">SCREEN</span>, <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        cmdInfoText <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Command<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Info Text&quot;</span>, Command.<span style="color: #006633;">SCREEN</span>, <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        cmdBack <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Command<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Back&quot;</span>, Command.<span style="color: #006633;">BACK</span>, <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        txt.<span style="color: #006633;">addCommand</span><span style="color: #009900;">&#40;</span>cmdExit<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        txt.<span style="color: #006633;">addCommand</span><span style="color: #009900;">&#40;</span>cmdSetText<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        txt.<span style="color: #006633;">addCommand</span><span style="color: #009900;">&#40;</span>cmdInsertText<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        txt.<span style="color: #006633;">addCommand</span><span style="color: #009900;">&#40;</span>cmdInfoText<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        txt.<span style="color: #006633;">setCommandListener</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> startApp<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        display.<span style="color: #006633;">setCurrent</span><span style="color: #009900;">&#40;</span>txt<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> pauseApp<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> destroyApp<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">boolean</span> unconditional<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> commandAction<span style="color: #009900;">&#40;</span>Command c, Displayable d<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>c <span style="color: #339933;">==</span> cmdExit<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            destroyApp<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            notifyDestroyed<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>c <span style="color: #339933;">==</span> cmdSetText<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            txt.<span style="color: #006633;">setString</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Contoh Mengeset Text dalam TextBox&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>c <span style="color: #339933;">==</span> cmdInsertText<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            txt.<span style="color: #006633;">insert</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Text Sisipan&quot;</span>, <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>c <span style="color: #339933;">==</span> cmdClearText<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>txt.<span style="color: #006633;">size</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                txt.<span style="color: #006633;">delete</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>, txt.<span style="color: #006633;">size</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>c <span style="color: #339933;">==</span> cmdInfoText<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            form <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Form<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Informasi Text&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            form.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Teks Aktif: &quot;</span> <span style="color: #339933;">+</span> txt.<span style="color: #006633;">getString</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            form.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Jumlah Karakter: &quot;</span> <span style="color: #339933;">+</span> txt.<span style="color: #006633;">size</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            form.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Posisi cursor: &quot;</span> <span style="color: #339933;">+</span> txt.<span style="color: #006633;">getCaretPosition</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
            form.<span style="color: #006633;">addCommand</span><span style="color: #009900;">&#40;</span>cmdBack<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            form.<span style="color: #006633;">setCommandListener</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            display.<span style="color: #006633;">setCurrent</span><span style="color: #009900;">&#40;</span>form<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>c <span style="color: #339933;">==</span> cmdBack<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            display.<span style="color: #006633;">setCurrent</span><span style="color: #009900;">&#40;</span>txt<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Hasil program di atas adalah sebagai berikut:</p>
<p><span id="more-312"></span></p>
<div id="attachment_343" class="wp-caption alignnone" style="width: 223px"><img class="size-full wp-image-343" title="j2me_textbox_01" src="http://www.andisun.com/wp-content/uploads/2009/07/j2me_textbox_011.png" alt="Tampilan Awal" width="213" height="314" /><p class="wp-caption-text">Tampilan Awal</p></div>
<p>Setelah muncul gambar di atas, dapat dicoba diklik &#8220;Menu&#8221;, hasilnya adalah:</p>
<div id="attachment_344" class="wp-caption alignnone" style="width: 224px"><img class="size-full wp-image-344" title="j2me_textbox_02" src="http://www.andisun.com/wp-content/uploads/2009/07/j2me_textbox_02.png" alt="Pilihan Menu Aplikasi" width="214" height="314" /><p class="wp-caption-text">Pilihan Menu Aplikasi</p></div>
<p>Coba pilih menu Info Text, hasilnya adalah:</p>
<div id="attachment_345" class="wp-caption alignnone" style="width: 225px"><img class="size-full wp-image-345" title="j2me_textbox_03" src="http://www.andisun.com/wp-content/uploads/2009/07/j2me_textbox_03.png" alt="Tampilan menu &quot;Info Text&quot;" width="215" height="314" /><p class="wp-caption-text">Tampilan menu &quot;Info Text&quot;</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.andisun.com/tutorials/j2me-programming/j2me-memanfaatkan-class-textbox/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Memanfaatkan Class List</title>
		<link>http://www.andisun.com/tutorials/j2me-programming/memanfaatkan-class-list</link>
		<comments>http://www.andisun.com/tutorials/j2me-programming/memanfaatkan-class-list#comments</comments>
		<pubDate>Thu, 23 Jul 2009 15:30:42 +0000</pubDate>
		<dc:creator>myandisun</dc:creator>
				<category><![CDATA[J2ME-Mobile Programming]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[exclusive]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[implicit]]></category>
		<category><![CDATA[J2ME]]></category>
		<category><![CDATA[list]]></category>
		<category><![CDATA[multiple]]></category>

		<guid isPermaLink="false">http://www.andisun.com/?p=265</guid>
		<description><![CDATA[Class List merupakan turunan dari class Screen. Class ini berfungsi untuk menampilkan daftar item pilihan yang dapat diakses denagn cara menscroll. Untuk memilih item yang diinginkan dengan menekan tombol select atau menggunakan Command. Bentuk constructor List adalah sebagai berikut: List(String title, int listType) List(String title, int listType, String[] choices, Image[] images) Daftar method clas List [...]]]></description>
			<content:encoded><![CDATA[<p>Class <span style="font-family: courier new,courier;">List</span> merupakan turunan dari class <span style="font-family: courier new,courier;">Screen</span>. Class ini berfungsi untuk menampilkan daftar item pilihan yang dapat diakses denagn cara menscroll. Untuk memilih item yang diinginkan dengan menekan tombol select atau menggunakan <span style="font-family: courier new,courier;">Command</span>.</p>
<p>Bentuk constructor List adalah sebagai berikut:</p>
<ul>
<li><span style="font-family: terminal,monaco;">List(String title, int listType)</span></li>
<li><span style="font-family: terminal,monaco;">List(String title, int listType, String[] choices, Image[] images)</span></li>
</ul>
<p>Daftar method clas <span style="font-family: courier new,courier;">List </span>yang digunakan untuk memanipulasi item adalah:</p>
<table style="width: 591px; height: 134px;" border="0" cellspacing="1" cellpadding="1">
<tbody>
<tr>
<td width="127">
<p align="center"><strong>Nama Method</strong></p>
</td>
<td width="454">
<p align="center"><strong>Kegunaan</strong></p>
</td>
</tr>
<tr>
<td width="127"><span style="font-family: courier new,courier;">append()</span></td>
<td width="454"><span style="font-family: arial,helvetica,sans-serif;">Menambah item   dan menempatkannya pada posisi terakhir.</span></td>
</tr>
<tr>
<td width="127"><span style="font-family: courier new,courier;">insert()</span></td>
<td width="454"><span style="font-family: arial,helvetica,sans-serif;">Menambah item   dan menempatkannya di posisi sebelum item yang aktif(item yang sedang   dipilih)</span></td>
</tr>
<tr>
<td width="127"><span style="font-family: courier new,courier;">delete()</span></td>
<td width="454"><span style="font-family: arial,helvetica,sans-serif;">Menghapus item   yang sedang dipilih.</span></td>
</tr>
<tr>
<td width="127"><span style="font-family: courier new,courier;">deleteAll()</span></td>
<td width="454"><span style="font-family: arial,helvetica,sans-serif;">Menghapus   semua item yan gterdapat pada objek List.</span></td>
</tr>
</tbody>
</table>
<p>Parameter choices digunakan untuk melewatkan item-item yang diisikan, sedangkan images digunakan untuk menyimpan daftar gambar (icon) yang akan ditampilkan.</p>
<p>Dalam class List ada tiga macam tipe:</p>
<table style="width: 598px; height: 137px;" border="0" cellspacing="1" cellpadding="1">
<tbody>
<tr>
<td width="102"><strong>Tipe</strong></td>
<td width="479"><strong>Keterangan</strong></td>
</tr>
<tr>
<td width="102"><span style="font-family: courier new,courier;">EXCLUSIVE</span></td>
<td width="479"><span style="font-family: arial,helvetica,sans-serif;">List ini berbentuk radio button. User hanya dapat memilih   satu pilihan.</span></td>
</tr>
<tr>
<td width="102"><span style="font-family: courier new,courier;">MULTIPLE</span></td>
<td width="479"><span style="font-family: arial,helvetica,sans-serif;">List berupa   list yang didalamnya dilengkapi dengan ChecBox. User dapat memilih lebih dari satu pilihan.</span></td>
</tr>
<tr>
<td width="102"><span style="font-family: courier new,courier;">IMPLICITE</span></td>
<td width="479"><span style="font-family: arial,helvetica,sans-serif;">List standar   yang biasa digunakan untuk menampilkan item pilihan.</span></td>
</tr>
</tbody>
</table>
<p>Untuk mengetahui gambar-gambar mana yang dipilih, class List mendefinisikan method-method sebagai berikut:</p>
<pre>public int getSelectedIndex()
public void getSelectedFlags(boolean[] selected)
public boolean isSelected(int elemenNum)</pre>
<p>Sebelum memulai menuliskan program kita siapkan dulu icon yang akan dimunculkan pada List. Format gambar yang digunakan untuk icon adalah PNG. Berikut icon yang yang akan digunakan:</p>
<table style="width: 179px; height: 149px;" border="0" cellspacing="1" cellpadding="1">
<tbody>
<tr>
<td><strong>Nama File</strong></td>
<td><strong>Images</strong></td>
</tr>
<tr>
<td>register.png</td>
<td><img class="aligncenter size-full wp-image-266" title="register" src="http://www.andisun.com/wp-content/uploads/2009/07/register.png" alt="register" width="20" height="22" /></td>
</tr>
<tr>
<td>tools.png</td>
<td><img class="aligncenter size-full wp-image-267" title="tools" src="http://www.andisun.com/wp-content/uploads/2009/07/tools.png" alt="tools" width="20" height="20" /></td>
</tr>
<tr>
<td>wizard.png</td>
<td><img class="aligncenter size-full wp-image-268" title="wizard" src="http://www.andisun.com/wp-content/uploads/2009/07/wizard.png" alt="wizard" width="20" height="20" /></td>
</tr>
<tr>
<td>contact.png</td>
<td><img class="aligncenter size-full wp-image-269" title="contact" src="http://www.andisun.com/wp-content/uploads/2009/07/contact.png" alt="contact" width="20" height="20" /></td>
</tr>
<tr>
<td>help.png</td>
<td><img class="aligncenter size-full wp-image-270" title="help" src="http://www.andisun.com/wp-content/uploads/2009/07/help.png" alt="help" width="20" height="20" /></td>
</tr>
</tbody>
</table>
<p><span id="more-265"></span></p>
<p>Copykan file di atas jadi satu direktori dengan file Java, yaitu direktory: <span style="font-family: courier new,courier;">src</span>. Jika dilihat pada tampilan explorer adalah sebagai berikut:</p>
<table border="0">
<tbody>
<tr>
<td>
<p><div id="attachment_271" class="wp-caption aligncenter" style="width: 476px"><img class="size-full wp-image-271  " title="j2me_list_icon01" src="http://www.andisun.com/wp-content/uploads/2009/07/j2me_list_icon01.png" alt="Tampilan pada file explorer" width="466" height="80" /><p class="wp-caption-text">Tampilan pada file explorer</p></div></td>
</tr>
</tbody>
</table>
<p>Kode program untuk aplikasi ini adalah:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p265code28'); return false;">View Code</a> JAVA</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p26528"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
</pre></td><td class="code" id="p265code28"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.microedition.lcdui.*</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.microedition.midlet.*</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> MIDList <span style="color: #000000; font-weight: bold;">extends</span> MIDlet <span style="color: #000000; font-weight: bold;">implements</span> CommandListener <span style="color: #009900;">&#123;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">private</span> Display display<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">private</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Alist+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">List</span></a> list<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">private</span> Command cmdPilih<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">private</span> Command cmdBack<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">private</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aimage+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Image</span></a> img1, img2, img3, img4, img5<span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> MIDList<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        display <span style="color: #339933;">=</span> Display.<span style="color: #006633;">getDisplay</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> startApp<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #666666; font-style: italic;">//membuat objek Command</span>
        cmdPilih <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Command<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Pilih&quot;</span>, Command.<span style="color: #006633;">SCREEN</span>, <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        cmdBack <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Command<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Back&quot;</span>, Command.<span style="color: #006633;">BACK</span>, <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #666666; font-style: italic;">//membuat daftar icon</span>
        <span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
            img1 <span style="color: #339933;">=</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aimage+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Image</span></a>.<span style="color: #006633;">createImage</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/register.png&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            img2 <span style="color: #339933;">=</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aimage+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Image</span></a>.<span style="color: #006633;">createImage</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/contact.png&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            img3 <span style="color: #339933;">=</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aimage+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Image</span></a>.<span style="color: #006633;">createImage</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/tools.png&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            img4 <span style="color: #339933;">=</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aimage+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Image</span></a>.<span style="color: #006633;">createImage</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/wizard.png&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            img5 <span style="color: #339933;">=</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aimage+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Image</span></a>.<span style="color: #006633;">createImage</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/help.png&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Exception</span></a> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>e.<span style="color: #006633;">getMessage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
        <span style="color: #666666; font-style: italic;">//membuat List bertipe Exclusive</span>
        list <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Alist+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">List</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;List Tipe Exclusive&quot;</span>, <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Achoice+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Choice</span></a>.<span style="color: #006633;">EXCLUSIVE</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        list.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Register&quot;</span>, img1<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        list.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Contact&quot;</span>, img2<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        list.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Tool&quot;</span>, img3<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        list.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Wizard&quot;</span>, img4<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        list.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Help&quot;</span>, img5<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        list.<span style="color: #006633;">addCommand</span><span style="color: #009900;">&#40;</span>cmdPilih<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        list.<span style="color: #006633;">addCommand</span><span style="color: #009900;">&#40;</span>cmdBack<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        list.<span style="color: #006633;">setCommandListener</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        display.<span style="color: #006633;">setCurrent</span><span style="color: #009900;">&#40;</span>list<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> pauseApp<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> destroyApp<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">boolean</span> unconditional<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> commandAction<span style="color: #009900;">&#40;</span>Command c, Displayable d<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>c <span style="color: #339933;">==</span> cmdBack<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            destroyApp<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000066; font-weight: bold;">int</span> indeks <span style="color: #339933;">=</span> list.<span style="color: #006633;">getSelectedIndex</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            Alert info <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Alert<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Informasi&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            info.<span style="color: #006633;">setString</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Anda memilih : &quot;</span> <span style="color: #339933;">+</span> list.<span style="color: #006633;">getString</span><span style="color: #009900;">&#40;</span>indeks<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            info.<span style="color: #006633;">setTimeout</span><span style="color: #009900;">&#40;</span>Alert.<span style="color: #006633;">FOREVER</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            display.<span style="color: #006633;">setCurrent</span><span style="color: #009900;">&#40;</span>info, list<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Bentuk tipe List dapat dilihat pada gambar-gambar berikut:</p>
<table border="0">
<tbody>
<tr>
<td>
<p><div id="attachment_276" class="wp-caption alignnone" style="width: 201px"><img class="size-full wp-image-276 " title="j2me_list_exclusive" src="http://www.andisun.com/wp-content/uploads/2009/07/j2me_list_exclusive.png" alt="Tipe Exclusive" width="191" height="283" /><p class="wp-caption-text">Tipe Exclusive</p></div></td>
<td>
<p><div id="attachment_279" class="wp-caption alignnone" style="width: 204px"><img class="size-full wp-image-279 " title="j2me_list_exclusive02" src="http://www.andisun.com/wp-content/uploads/2009/07/j2me_list_exclusive02.png" alt="Setelah dipilih tombol &quot;Pilih&quot;" width="194" height="283" /><p class="wp-caption-text">Setelah dipilih tombol &quot;Pilih&quot;</p></div></td>
</tr>
</tbody>
</table>
<p>Jika di ubah tipe Listnya hasilnya masing-masing sebagai berikut:</p>
<table style="width: 100%;" border="0">
<tbody>
<tr>
<td>
<div id="attachment_276" class="wp-caption alignleft" style="width: 163px"><img class="size-full wp-image-276  " title="j2me_list_exclusive" src="http://www.andisun.com/wp-content/uploads/2009/07/j2me_list_exclusive.png" alt="Tipe Exclusive" width="153" height="226" /><p class="wp-caption-text">Tipe Exclusive</p></div>
<div id="attachment_277" class="wp-caption alignleft" style="width: 167px"><img class="size-full wp-image-277  " title="j2me_list_implicit" src="http://www.andisun.com/wp-content/uploads/2009/07/j2me_list_implicit.png" alt="Tipe Implicit" width="157" height="226" /><p class="wp-caption-text">Tipe Implicit</p></div>
<p><div id="attachment_278" class="wp-caption alignleft" style="width: 162px"><img class="size-full wp-image-278  " title="j2me_list_multiple" src="http://www.andisun.com/wp-content/uploads/2009/07/j2me_list_multiple.png" alt="Tipe Multiple" width="152" height="226" /><p class="wp-caption-text">Tipe Multiple</p></div></td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.andisun.com/tutorials/j2me-programming/memanfaatkan-class-list/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>User Interface pada J2ME</title>
		<link>http://www.andisun.com/tutorials/j2me-programming/user-interface-pada-j2me</link>
		<comments>http://www.andisun.com/tutorials/j2me-programming/user-interface-pada-j2me#comments</comments>
		<pubDate>Thu, 23 Jul 2009 03:43:38 +0000</pubDate>
		<dc:creator>myandisun</dc:creator>
				<category><![CDATA[J2ME-Mobile Programming]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[High]]></category>
		<category><![CDATA[Interface]]></category>
		<category><![CDATA[J2ME]]></category>

		<guid isPermaLink="false">http://www.andisun.com/?p=256</guid>
		<description><![CDATA[Satu hal terpenting dalam sebuah aplikasi adalah Graphical User Interface (GUI). GUI dapat dimanfaatkan sebagai media input dalam sebuah aplikasi. Class-class untuk membangun GUI dalam MIDP disimpan dalam lcdui (javax.microedition.lcdui), sehingga agar dapat memanfaatkan class tersebut dengan mengimport paketnya. Struktur GUI dalam MIDP GUI di dalam MIDP dibagi menjadi dua bagian, yaitu: high-level API (yang [...]]]></description>
			<content:encoded><![CDATA[<p>Satu hal terpenting dalam sebuah aplikasi adalah <em>Graphical User Interface (GUI)</em>. GUI dapat dimanfaatkan sebagai media input dalam sebuah aplikasi.</p>
<p><em>Class-class</em> untuk membangun GUI dalam MIDP disimpan dalam lcdui (<span style="font-family: courier new,courier;">javax.microedition.lcdui</span>), sehingga agar dapat memanfaatkan class tersebut dengan mengimport paketnya.</p>
<p><strong>Struktur GUI dalam MIDP</strong></p>
<p>GUI di dalam MIDP dibagi menjadi dua bagian, yaitu: <em>high-level API</em> (yang didasarkan pada penbentukan window) dan <em>low-level API</em> (yang didasarkan pada pembentukan canvas dan pixel). Penggunaan <em>high-level API</em> lebih mudah disbanding mengunakan <em>low-level API</em> untuk membangun sebuah interface pada suatu aplikasi. Namun dengan menggunakan <em>low level API</em> lebih leluasa dalam mendesain sebuah interface.</p>
<p>Model high-level API menyediakan class-class standar yang digunakan untuk membangun UI <em>(User Interface)</em> seperti component <span style="font-family: courier new,courier;">Form, TextBox, List, Alert</span>. Model High-level mengimplementasikan class-class yang diturunkan dari class Screen.</p>
<p>Model Low-level API memberikan akses yang kepada programmer untuk melakukan control terhadap tampilan layer, termasuk pengembaran menggunakan pixel, pembentukan bentuk geometri (segitiga, segiempat,lingkaran,elips, arc, dll). Model ini sering digunakan untuk membuat game. Karena model ini dapat membuat bentuk tek graphic yang lebih spesifik sesaui dengan keinginan. Model ini juga dapat membaca tombol-tombol yang ditekan oleh user.</p>
<p>Dalam paket lcdui yang dimport menggunakan:</p>
<p style="padding-left: 30px;"><span style="font-family: terminal,monaco;">import javax.microedition.lcdui.*;</span></p>
<p>Paket ini terdiri dari interface dan class.</p>
<p>Tabel daftar interface:</p>
<table style="width: 599px; height: 120px;" border="0" cellspacing="1" cellpadding="2">
<tbody>
<tr>
<td width="157"><strong>Interface</strong></td>
<td width="424"><strong>Keterangan</strong></td>
</tr>
<tr>
<td width="157"><span style="font-family: courier new,courier;">Choice</span></td>
<td width="424">Mengimplementasikan sejumah item pilihan yang   didefinisikan.</td>
</tr>
<tr>
<td width="157"><span style="font-family: courier new,courier;">CommandListener</span></td>
<td width="424">Menerima <em>event-event</em> level tinggi.</td>
</tr>
<tr>
<td width="157"><span style="font-family: courier new,courier;">ItemStateListener</span></td>
<td width="424">Menerima <em>event</em> yang mengindikasikan perubahan keadaan dari item yang terdapat pada obyek Form</td>
</tr>
</tbody>
</table>
<p><span id="more-256"></span></p>
<p>Daftar kelas paket lcdui:</p>
<table style="width: 596px; height: 613px;" border="0" cellspacing="1" cellpadding="2">
<tbody>
<tr>
<td width="118"><strong>Class</strong></td>
<td width="464"><strong>Keterangan</strong></td>
</tr>
<tr>
<td width="118"><span style="font-family: courier new,courier;">Alert</span></td>
<td width="464">Menampilkan pesan ke user untuk periode waktu tertentu</td>
</tr>
<tr>
<td width="118"><span style="font-family: courier new,courier;">AlertType</span></td>
<td width="464">Mendefinisikan tipe objek Alert yang akan ditampilkan</td>
</tr>
<tr>
<td width="118"><span style="font-family: courier new,courier;">Canvas</span></td>
<td width="464">Class yang digunakan untuk aplikasi yang membutuhkan   event-event rendah seperti game dan untuk mengambar dilayar.</td>
</tr>
<tr>
<td width="118"><span style="font-family: courier new,courier;">ChoiceGroup</span></td>
<td width="464">Meyajikan sekumpulan elemen yang dapat dipilih yang   dimasukkan di dalam Form.</td>
</tr>
<tr>
<td width="118"><span style="font-family: courier new,courier;">Command</span></td>
<td width="464">Konstruksi yang mebungkus informasi-informasi yang   dilakukan oleh user.</td>
</tr>
<tr>
<td width="118"><span style="font-family: courier new,courier;">CustomItem</span></td>
<td width="464">Membuat   elemen user interface baru yang ditempatkan pada sebuah Form.</td>
</tr>
<tr>
<td width="118"><span style="font-family: courier new,courier;">DateField</span></td>
<td width="464">Komponen yang   digunakan untuk menampilkan tanggal dan waktu.</td>
</tr>
<tr>
<td width="118"><span style="font-family: courier new,courier;">Display</span></td>
<td width="464">Manager   tampilan</td>
</tr>
<tr>
<td width="118"><span style="font-family: courier new,courier;">Displayable</span></td>
<td width="464">Objek yang   memiliki kemampuan ditampilkan pada layar.</td>
</tr>
<tr>
<td width="118"><span style="font-family: courier new,courier;">Font</span></td>
<td width="464">Mengatur   huruf yang akan ditampilkan ke layar.</td>
</tr>
<tr>
<td width="118"><span style="font-family: courier new,courier;">Gauge</span></td>
<td width="464">Tampilan   grafis yang digunakan untuk memvisualisasikan nilai tertentu yang diletakkan   pada Form.</td>
</tr>
<tr>
<td width="118"><span style="font-family: courier new,courier;">Graphics</span></td>
<td width="464">Menyediakan   kemampuan menggambar pada sebuah Canvas.</td>
</tr>
<tr>
<td width="118"><span style="font-family: courier new,courier;">Image</span></td>
<td width="464">Digunakan   untuk menyimpan data gambar.</td>
</tr>
<tr>
<td width="118"><span style="font-family: courier new,courier;">ImageItem</span></td>
<td width="464">Meyediakan   kotrol layout untuk gambar-gambar yang ditempatkan pada sebuah Form.</td>
</tr>
<tr>
<td width="118"><span style="font-family: courier new,courier;">Item</span></td>
<td width="464">Kelas dasar   untuk menempatkan komponen-komponen yang dapat ditempatkan pada sebuah Form.</td>
</tr>
<tr>
<td width="118"><span style="font-family: courier new,courier;">List</span></td>
<td width="464">Layar yang   berisi daftar pilihan</td>
</tr>
<tr>
<td width="118"><span style="font-family: courier new,courier;">Screen</span></td>
<td width="464">Kelas dasar   semua komponen layar dalam high-level user interface.</td>
</tr>
<tr>
<td width="118"><span style="font-family: courier new,courier;">StringItem</span></td>
<td width="464">Item yang   berisi string yang kemudian ditempatkan pada Form.</td>
</tr>
<tr>
<td width="118"><span style="font-family: courier new,courier;">TextBox</span></td>
<td width="464">Layar yang   mengijinkan user memanipulasi teks dan bisa juga dijadikan media input.</td>
</tr>
<tr>
<td width="118"><span style="font-family: courier new,courier;">TextField</span></td>
<td width="464">Komponen   untuk memasukkan teks di atas Form.</td>
</tr>
<tr>
<td width="118"><span style="font-family: courier new,courier;">Ticker</span></td>
<td width="464">Bagian teks   yang berjalan terus-menerus di atas layar. Ticker tidak dapat ditempelkan   pada Canvas.</td>
</tr>
</tbody>
</table>
<p><strong>Arsitektur LCDUI</strong></p>
<p>Beriku hierarki class-class yang diambil dari pake lcdui (<span style="font-family: courier new,courier;">javax.microedition.lcdui</span>)</p>
<div id="attachment_257" class="wp-caption alignnone" style="width: 577px"><img class="size-full wp-image-257 " title="j2me_class_lcdui" src="http://www.andisun.com/wp-content/uploads/2009/07/j2me_class_lcdui.png" alt="Hierarki Class LCDUI" width="567" height="262" /><p class="wp-caption-text">Hierarki Class LCDUI</p></div>
<p>Dari class-class di atas yang dapat langsung ditampilkan ke layar hanya turunan dari class <span style="font-family: courier new,courier;">Displayable</span>.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p256code30'); return false;">View Code</a> JAVA</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p25630"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
</pre></td><td class="code" id="p256code30"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.microedition.lcdui.*</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.microedition.midlet.*</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> MIDAlert <span style="color: #000000; font-weight: bold;">extends</span> MIDlet <span style="color: #000000; font-weight: bold;">implements</span> CommandListener <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">private</span> Display display<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">private</span> Form form<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">private</span> Alert alert<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">private</span> Command cmdExit<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">private</span> Command cmdAlert<span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> MIDAlert<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        display <span style="color: #339933;">=</span> Display.<span style="color: #006633;">getDisplay</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #666666; font-style: italic;">//membuat objek Form</span>
        form <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Form<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Demo Alert&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #666666; font-style: italic;">//membuat objek Command</span>
        cmdExit <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Command<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Exit&quot;</span>, Command.<span style="color: #006633;">EXIT</span>, <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        cmdAlert <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Command<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Alert&quot;</span>, Command.<span style="color: #006633;">SCREEN</span>, <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #666666; font-style: italic;">//menambahkan objek Command &quot;cmdExit&quot; dan &quot;cmdAlert&quot;</span>
        form.<span style="color: #006633;">addCommand</span><span style="color: #009900;">&#40;</span>cmdExit<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        form.<span style="color: #006633;">addCommand</span><span style="color: #009900;">&#40;</span>cmdAlert<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #666666; font-style: italic;">//menset event</span>
        form.<span style="color: #006633;">setCommandListener</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> startApp<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #666666; font-style: italic;">//menentukan objek yang ditampilkan di layar</span>
        display.<span style="color: #006633;">setCurrent</span><span style="color: #009900;">&#40;</span>form<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> pauseApp<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> destroyApp<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">boolean</span> unconditional<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> commandAction<span style="color: #009900;">&#40;</span>Command c, Displayable d<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>c <span style="color: #339933;">==</span> cmdAlert<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #666666; font-style: italic;">//memanggil method tampilAlert</span>
            tampilAlert<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>c <span style="color: #339933;">==</span> cmdExit<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            destroyApp<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            notifyDestroyed<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000066; font-weight: bold;">void</span> tampilAlert<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #666666; font-style: italic;">//membuat objek Alert dan menentukan String yang ditampilkan</span>
            alert <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Alert<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Informasi&quot;</span>, <span style="color: #0000ff;">&quot;Pesan ini tampil di User&quot;</span>, <span style="color: #000066; font-weight: bold;">null</span>, <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
            <span style="color: #666666; font-style: italic;">//menentukan tipe Alert</span>
            alert.<span style="color: #006633;">setType</span><span style="color: #009900;">&#40;</span>AlertType.<span style="color: #006633;">ALARM</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
            <span style="color: #666666; font-style: italic;">//menentukan lamanya Alert tampil</span>
            alert.<span style="color: #006633;">setTimeout</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">5000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
            <span style="color: #666666; font-style: italic;">//menampilkan Alert</span>
            display.<span style="color: #006633;">setCurrent</span><span style="color: #009900;">&#40;</span>alert<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span><span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Exception</span></a> e<span style="color: #009900;">&#41;</span>  <span style="color: #009900;">&#123;</span>
            <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>e.<span style="color: #006633;">getMessage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Sebuah aplikasi biasanya ketika menampilkan pesan menggunakan icon atau gambar tertentu, berikut tambahan kode program agar pesan yang ditampilkan di atas dapat menampilkan pesan yang disertai dengan gambar.</p>
<p>Hasil output dari program di atas adalah:</p>
<div id="attachment_258" class="wp-caption alignnone" style="width: 458px"><img class="size-full wp-image-258" title="j2me_ui_01" src="http://www.andisun.com/wp-content/uploads/2009/07/j2me_ui_01.png" alt="Sesudah dan sebelum diklik Alert" width="448" height="234" /><p class="wp-caption-text">Sesudah dan sebelum diklik Alert</p></div>
<p>Ubahlah method <span style="font-family: courier new,courier;">tampilAlert()</span> menjadi seperti berikut:</p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 2806px; width: 1px; height: 1px;"><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:TrackMoves /> <w:TrackFormatting /> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:DoNotPromoteQF /> <w:LidThemeOther>EN-US</w:LidThemeOther> <w:LidThemeAsian>X-NONE</w:LidThemeAsian> <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> <w:SplitPgBreakAndParaMark /> <w:DontVertAlignCellWithSp /> <w:DontBreakConstrainedForcedTables /> <w:DontVertAlignInTxbx /> <w:Word11KerningPairs /> <w:CachedColBalance /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> <m:mathPr> <m:mathFont m:val="Cambria Math" /> <m:brkBin m:val="before" /> <m:brkBinSub m:val=" " /> <m:smallFrac m:val="off" /> <m:dispDef /> <m:lMargin m:val="0" /> <m:rMargin m:val="0" /> <m:defJc m:val="centerGroup" /> <m:wrapIndent m:val="1440" /> <m:intLim m:val="subSup" /> <m:naryLim m:val="undOvr" /> </m:mathPr></w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"   DefSemiHidden="true" DefQFormat="false" DefPriority="99"   LatentStyleCount="267"> <w:LsdException Locked="false" Priority="0" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Normal" /> <w:LsdException Locked="false" Priority="0" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="heading 1" /> <w:LsdException Locked="false" Priority="0" QFormat="true" Name="heading 2" /> <w:LsdException Locked="false" Priority="0" QFormat="true" Name="heading 3" /> <w:LsdException Locked="false" Priority="0" QFormat="true" Name="heading 4" /> <w:LsdException Locked="false" Priority="0" QFormat="true" Name="heading 5" /> <w:LsdException Locked="false" Priority="0" QFormat="true" Name="heading 6" /> <w:LsdException Locked="false" Priority="0" QFormat="true" Name="heading 7" /> <w:LsdException Locked="false" Priority="0" QFormat="true" Name="heading 8" /> <w:LsdException Locked="false" Priority="0" QFormat="true" Name="heading 9" /> <w:LsdException Locked="false" Priority="39" Name="toc 1" /> <w:LsdException Locked="false" Priority="39" Name="toc 2" /> <w:LsdException Locked="false" Priority="39" Name="toc 3" /> <w:LsdException Locked="false" Priority="39" Name="toc 4" /> <w:LsdException Locked="false" Priority="39" Name="toc 5" /> <w:LsdException Locked="false" Priority="39" Name="toc 6" /> <w:LsdException Locked="false" Priority="39" Name="toc 7" /> <w:LsdException Locked="false" Priority="39" Name="toc 8" /> <w:LsdException Locked="false" Priority="39" Name="toc 9" /> <w:LsdException Locked="false" Priority="0" QFormat="true" Name="caption" /> <w:LsdException Locked="false" Priority="10" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Title" /> <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font" /> <w:LsdException Locked="false" Priority="0" Name="Body Text" /> <w:LsdException Locked="false" Priority="11" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtitle" /> <w:LsdException Locked="false" Priority="22" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Strong" /> <w:LsdException Locked="false" Priority="0" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Emphasis" /> <w:LsdException Locked="false" Priority="0" Name="Plain Text" /> <w:LsdException Locked="false" Priority="59" SemiHidden="false"    UnhideWhenUsed="false" Name="Table Grid" /> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text" /> <w:LsdException Locked="false" Priority="1" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="No Spacing" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 1" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 1" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 1" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 1" /> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision" /> <w:LsdException Locked="false" Priority="34" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="List Paragraph" /> <w:LsdException Locked="false" Priority="29" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Quote" /> <w:LsdException Locked="false" Priority="30" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Quote" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 1" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 1" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 1" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 1" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 1" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 2" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 2" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 2" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 2" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 2" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 2" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 2" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 2" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 2" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 3" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 3" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 3" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 3" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 3" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 3" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 3" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 3" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 3" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 4" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 4" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 4" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 4" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 4" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 4" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 4" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 4" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 4" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 5" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 5" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 5" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 5" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 5" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 5" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 5" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 5" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 5" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 6" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 6" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 6" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 6" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 6" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 6" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 6" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 6" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 6" /> <w:LsdException Locked="false" Priority="19" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis" /> <w:LsdException Locked="false" Priority="21" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis" /> <w:LsdException Locked="false" Priority="31" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference" /> <w:LsdException Locked="false" Priority="32" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Reference" /> <w:LsdException Locked="false" Priority="33" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Book Title" /> <w:LsdException Locked="false" Priority="37" Name="Bibliography" /> <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading" /> </w:LatentStyles> </xml><![endif]--><!--  /* Font Definitions */  @font-face 	{font-family:"Cambria Math"; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1107304683 0 0 159 0;} @font-face 	{font-family:Verdana; 	panose-1:2 11 6 4 3 5 4 4 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:536871559 0 0 0 415 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	mso-bidi-font-size:12.0pt; 	font-family:"Verdana","sans-serif"; 	mso-fareast-font-family:"Times New Roman"; 	mso-bidi-font-family:"Times New Roman";} p.CodeBody, li.CodeBody, div.CodeBody 	{mso-style-name:"Code Body"; 	mso-style-unhide:no; 	margin-top:0in; 	margin-right:8.5pt; 	margin-bottom:3.0pt; 	margin-left:8.5pt; 	mso-pagination:widow-orphan; 	background:#F3F3F3; 	mso-layout-grid-align:none; 	text-autospace:none; 	border:none; 	mso-border-top-alt:solid windowtext .5pt; 	mso-border-bottom-alt:solid windowtext .5pt; 	padding:0in; 	mso-padding-alt:1.0pt 0in 1.0pt 0in; 	font-size:10.0pt; 	mso-bidi-font-size:9.0pt; 	font-family:"Courier New"; 	mso-fareast-font-family:"Times New Roman"; 	color:#231F20;} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	font-size:10.0pt; 	mso-ansi-font-size:10.0pt; 	mso-bidi-font-size:10.0pt;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.0in 1.0in 1.0in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --><!--[if gte mso 10]> <mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman","serif";} --> <!--[endif]--></p>
<div style="border-style: solid none; border-color: windowtext -moz-use-text-color; border-width: 1pt medium; padding: 1pt 0in; background: #f3f3f3 none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; margin-left: 8.5pt; margin-right: 8.5pt;">
<p class="CodeBody" style="margin: 0in 0in 3pt; background: #f3f3f3 none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;">private void tampilAlert() {</p>
<p class="CodeBody" style="margin: 0in 0in 3pt; background: #f3f3f3 none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;">try {</p>
<p class="CodeBody" style="margin: 0in 0in 3pt; background: #f3f3f3 none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;">//membuat objek Image</p>
<p class="CodeBody" style="margin: 0in 0in 3pt; background: #f3f3f3 none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;">Image img = Image.createImage(&#8220;/globe.png&#8221;);</p>
<p class="CodeBody" style="margin: 0in 0in 3pt; background: #f3f3f3 none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;">
<p class="CodeBody" style="margin: 0in 0in 3pt; background: #f3f3f3 none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;">//membuat objek Alert dan menentukan String yang ditampilkan</p>
<p class="CodeBody" style="margin: 0in 0in 3pt; background: #f3f3f3 none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;">alert = new Alert(&#8220;Informasi&#8221;, &#8220;Pesan ini tampil di User&#8221;, img, null);</p>
<p class="CodeBody" style="margin: 0in 0in 3pt; background: #f3f3f3 none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;">
<p class="CodeBody" style="margin: 0in 0in 3pt; background: #f3f3f3 none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;">//menentukan tipe Alert</p>
<p class="CodeBody" style="margin: 0in 0in 3pt; background: #f3f3f3 none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;">alert.setType(AlertType.ALARM);</p>
<p class="CodeBody" style="margin: 0in 0in 3pt; background: #f3f3f3 none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;">
<p class="CodeBody" style="margin: 0in 0in 3pt; background: #f3f3f3 none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;">//menentukan lamanya Alert tampil</p>
<p class="CodeBody" style="margin: 0in 0in 3pt; background: #f3f3f3 none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;">alert.setTimeout(5000);</p>
<p class="CodeBody" style="margin: 0in 0in 3pt; background: #f3f3f3 none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;">
<p class="CodeBody" style="margin: 0in 0in 3pt; background: #f3f3f3 none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;">//menampilkan Alert</p>
<p class="CodeBody" style="margin: 0in 0in 3pt; background: #f3f3f3 none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;">display.setCurrent(alert);</p>
<p class="CodeBody" style="margin: 0in 0in 3pt; background: #f3f3f3 none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;">} catch(Exception e) {</p>
<p class="CodeBody" style="margin: 0in 0in 3pt; background: #f3f3f3 none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;">System.out.println(e.getMessage());</p>
<p class="CodeBody" style="margin: 0in 0in 3pt; background: #f3f3f3 none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;">}</p>
<p class="CodeBody" style="margin: 0in 0in 3pt; background: #f3f3f3 none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;">}</p>
</div>
</div>
<pre>private void tampilAlert() {
	try {
		//membuat objek Image
		Image img = Image.createImage("/globe.png");

		//membuat objek Alert dan menentukan String yang ditampilkan
		alert = new Alert("Informasi", "Pesan ini tampil di User", img, null);

		//menentukan tipe Alert
		alert.setType(AlertType.ALARM);

		//menentukan lamanya Alert tampil
		alert.setTimeout(5000);

		//menampilkan Alert
		display.setCurrent(alert);
	} catch(Exception e)  {
		System.out.println(e.getMessage());
	}
}</pre>
<p>Tampilan ketika ditambahkan gambar pada <span style="font-family: courier new,courier;">Alert</span>.</p>
<div id="attachment_259" class="wp-caption alignnone" style="width: 259px"><img class="size-full wp-image-259" title="j2me_alert_icon" src="http://www.andisun.com/wp-content/uploads/2009/07/j2me_alert_icon.png" alt="Tampilan Alert setelah ditambah image" width="249" height="271" /><p class="wp-caption-text">Tampilan Alert setelah ditambah image</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.andisun.com/tutorials/j2me-programming/user-interface-pada-j2me/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Mengelola Tombol (Object Command)</title>
		<link>http://www.andisun.com/tutorials/j2me-programming/mengelola-tombol-object-command</link>
		<comments>http://www.andisun.com/tutorials/j2me-programming/mengelola-tombol-object-command#comments</comments>
		<pubDate>Thu, 23 Jul 2009 01:53:03 +0000</pubDate>
		<dc:creator>myandisun</dc:creator>
				<category><![CDATA[J2ME-Mobile Programming]]></category>
		<category><![CDATA[command]]></category>
		<category><![CDATA[J2ME]]></category>
		<category><![CDATA[object]]></category>
		<category><![CDATA[Program]]></category>

		<guid isPermaLink="false">http://www.andisun.com/?p=248</guid>
		<description><![CDATA[Suatu aplikasi yang menggunakan object Command terkadang memerlukan penambahan tombol dan pengurangan tombol pada saat run-time. Jadi sebuah object Command dapat di tambahkan maupun di kurangkan. Mendeklarasikan Obyek Command Bentuk umum membuat object Command adalah: Command(label, commandType, priority) Contoh: cmdExit = new Command(&#8220;Exit&#8221;, Command.EXIT, 0); Berikut macam-macam tipe Command yang dapat dipakai: Berikut daftar tipe [...]]]></description>
			<content:encoded><![CDATA[<p>Suatu aplikasi yang menggunakan object Command terkadang memerlukan penambahan tombol dan pengurangan tombol pada saat<em> run-time</em>. Jadi sebuah object Command dapat di tambahkan maupun di kurangkan.</p>
<p><strong>Mendeklarasikan Obyek Command</strong></p>
<p>Bentuk umum membuat object Command adalah:</p>
<p style="padding-left: 30px;"><span style="font-family: terminal,monaco;">Command(label, commandType, priority) </span></p>
<p>Contoh:<br />
<span style="font-family: courier new,courier;"> </span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">cmdExit = new Command(&#8220;Exit&#8221;, Command.EXIT, 0);</span></p>
<p>Berikut macam-macam tipe Command yang dapat dipakai:</p>
<p>Berikut daftar tipe Command yang dapat digunakan:</p>
<table border="0" cellspacing="1" cellpadding="2">
<tbody>
<tr>
<td width="77">
<p align="center"><span style="font-family: arial,helvetica,sans-serif;"><strong>Tipe</strong></span></p>
</td>
<td width="58">
<p align="center"><span style="font-family: arial,helvetica,sans-serif;"><strong>Nilai</strong></span></p>
</td>
<td width="446">
<p align="center"><span style="font-family: arial,helvetica,sans-serif;"><strong>Keterangan</strong></span></p>
</td>
</tr>
<tr>
<td width="77"><span style="font-family: arial,helvetica,sans-serif;">SCREEN</span></td>
<td width="58">
<p style="text-align: center;"><span style="font-family: arial,helvetica,sans-serif;">1</span></p>
</td>
<td width="446"><span style="font-family: arial,helvetica,sans-serif;">Tipe Command yang diaplikasikan untuk layer (screen)   tertentu.</span></td>
</tr>
<tr>
<td width="77"><span style="font-family: arial,helvetica,sans-serif;">BACK</span></td>
<td width="58">
<p style="text-align: center;"><span style="font-family: arial,helvetica,sans-serif;">2</span></p>
</td>
<td width="446"><span style="font-family: arial,helvetica,sans-serif;">Tipe Command   yang digunakan untuk kembali ke layar sebelumnya.</span></td>
</tr>
<tr>
<td width="77"><span style="font-family: arial,helvetica,sans-serif;">CANCEL</span></td>
<td width="58">
<p style="text-align: center;"><span style="font-family: arial,helvetica,sans-serif;">3</span></p>
</td>
<td width="446"><span style="font-family: arial,helvetica,sans-serif;">Tipe Comamnd   yang digunakan untuk jawaban negatif pada dialog box.</span></td>
</tr>
<tr>
<td width="77"><span style="font-family: arial,helvetica,sans-serif;">OK</span></td>
<td width="58">
<p style="text-align: center;"><span style="font-family: arial,helvetica,sans-serif;">4</span></p>
</td>
<td width="446"><span style="font-family: arial,helvetica,sans-serif;">Tipe Command untuk jawaban positif pada dialoag box.</span></td>
</tr>
<tr>
<td width="77"><span style="font-family: arial,helvetica,sans-serif;">HELP</span></td>
<td width="58">
<p style="text-align: center;"><span style="font-family: arial,helvetica,sans-serif;">5</span></p>
</td>
<td width="446"><span style="font-family: arial,helvetica,sans-serif;">Tipe Command   yang digunakan untuk menampilkan help.</span></td>
</tr>
<tr>
<td width="77"><span style="font-family: arial,helvetica,sans-serif;">STOP</span></td>
<td width="58">
<p style="text-align: center;"><span style="font-family: arial,helvetica,sans-serif;">6</span></p>
</td>
<td width="446"><span style="font-family: arial,helvetica,sans-serif;">Tipe Command yang akan menghentikan proses-proses yang   sedang berjalan.</span></td>
</tr>
<tr>
<td width="77"><span style="font-family: arial,helvetica,sans-serif;">EXIT</span></td>
<td width="58">
<p style="text-align: center;"><span style="font-family: arial,helvetica,sans-serif;">7</span></p>
</td>
<td width="446"><span style="font-family: arial,helvetica,sans-serif;">Tipe Command   yang digunakan untuk keluar dari aplikasi.</span></td>
</tr>
<tr>
<td width="77"><span style="font-family: arial,helvetica,sans-serif;">ITEM</span></td>
<td width="58">
<p style="text-align: center;"><span style="font-family: arial,helvetica,sans-serif;">8</span></p>
</td>
<td width="446"><span style="font-family: arial,helvetica,sans-serif;">Tipe Command   yang digunakan untuk menghubungkan aksi dalam suatu Command dengan item di   dalam layar.</span></td>
</tr>
</tbody>
</table>
<p><strong>Menambah Obyek Command</strong></p>
<p>Ada tulisan sebelumnya sudah banyak yang membahas tentang penambahan objek command pada objek lain seperti objek dari class List atau Form. Berikut contoh pengunaan obyek Command.</p>
<p>Untuk menambahkan obyek command menggunakan method  addComamnd().</p>
<p>Contoh:</p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">frm.addCommand(cmdExit);</span></p>
<p><strong>Menghapus Obyek Command</strong></p>
<p>Obyek Command yang telah kita tambahkan di dalam obyek frm dapat dihapus dengan menggunakan method removeCommand().</p>
<p>Contoh:</p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">frm.removeCommand(cmdOpen);</span></p>
<p><strong>Contoh Program</strong></p>
<p><strong><span id="more-248"></span></strong></p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p248code32'); return false;">View Code</a> JAVA</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p24832"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
</pre></td><td class="code" id="p248code32"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.microedition.lcdui.*</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.microedition.midlet.*</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> MIDCommand <span style="color: #000000; font-weight: bold;">extends</span> MIDlet <span style="color: #000000; font-weight: bold;">implements</span> CommandListener<span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">private</span> Display display<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">private</span> Form frm<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">private</span> Command cmdExit<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">private</span> Command cmdOpen<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">private</span> Command cmdClose<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">private</span> Command cmdStart<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">private</span> Command cmdStop<span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> MIDCommand<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        frm <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Form<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Contoh Command&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        cmdExit <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Command<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Exit&quot;</span>, Command.<span style="color: #006633;">EXIT</span>, <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        cmdOpen <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Command<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Open&quot;</span>, Command.<span style="color: #006633;">OK</span>,<span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        cmdClose <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Command<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Close&quot;</span>, Command.<span style="color: #006633;">OK</span>, <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        cmdStart <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Command<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Start&quot;</span>, Command.<span style="color: #006633;">OK</span>, <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">//        cmdStop = new Command(label, commandType, priority)</span>
        cmdStop <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Command<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Stop&quot;</span>, Command.<span style="color: #006633;">OK</span>, <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        frm.<span style="color: #006633;">setCommandListener</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> startApp<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        frm.<span style="color: #006633;">addCommand</span><span style="color: #009900;">&#40;</span>cmdExit<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        frm.<span style="color: #006633;">addCommand</span><span style="color: #009900;">&#40;</span>cmdOpen<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        display <span style="color: #339933;">=</span> Display.<span style="color: #006633;">getDisplay</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        display.<span style="color: #006633;">setCurrent</span><span style="color: #009900;">&#40;</span>frm<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> pauseApp<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> destroyApp<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">boolean</span> unconditional<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> commandAction<span style="color: #009900;">&#40;</span>Command c, Displayable d<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>c<span style="color: #339933;">==</span>cmdExit<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
            destroyApp<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            notifyDestroyed<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">else</span> <span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>c<span style="color: #339933;">==</span>cmdOpen<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
            frm.<span style="color: #006633;">removeCommand</span><span style="color: #009900;">&#40;</span>cmdOpen<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            frm.<span style="color: #006633;">addCommand</span><span style="color: #009900;">&#40;</span>cmdClose<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            frm.<span style="color: #006633;">addCommand</span><span style="color: #009900;">&#40;</span>cmdStart<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            display.<span style="color: #006633;">setCurrent</span><span style="color: #009900;">&#40;</span>frm<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">else</span> <span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>c<span style="color: #339933;">==</span>cmdStart<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
            frm.<span style="color: #006633;">removeCommand</span><span style="color: #009900;">&#40;</span>cmdStart<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            frm.<span style="color: #006633;">addCommand</span><span style="color: #009900;">&#40;</span>cmdClose<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            frm.<span style="color: #006633;">addCommand</span><span style="color: #009900;">&#40;</span>cmdStop<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            display.<span style="color: #006633;">setCurrent</span><span style="color: #009900;">&#40;</span>frm<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">else</span> <span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>c<span style="color: #339933;">==</span>cmdStop<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
            frm.<span style="color: #006633;">removeCommand</span><span style="color: #009900;">&#40;</span>cmdStop<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            frm.<span style="color: #006633;">addCommand</span><span style="color: #009900;">&#40;</span>cmdStart<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            display.<span style="color: #006633;">setCurrent</span><span style="color: #009900;">&#40;</span>frm<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">else</span> <span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>c<span style="color: #339933;">==</span>cmdClose<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
            frm.<span style="color: #006633;">removeCommand</span><span style="color: #009900;">&#40;</span>cmdClose<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            frm.<span style="color: #006633;">removeCommand</span><span style="color: #009900;">&#40;</span>cmdStart<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            frm.<span style="color: #006633;">addCommand</span><span style="color: #009900;">&#40;</span>cmdOpen<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p><strong>Hasil Runing Program</strong></p>
<div id="attachment_249" class="wp-caption alignleft" style="width: 222px"><img class="size-full wp-image-249" title="j2me_olah_command01" src="http://www.andisun.com/wp-content/uploads/2009/07/j2me_olah_command01.png" alt="Sebelum mengklik tombol" width="212" height="314" /><p class="wp-caption-text">Sebelum mengklik tombol</p></div>
<div id="attachment_250" class="wp-caption alignleft" style="width: 221px"><img class="size-full wp-image-250" title="j2me_olah_command02" src="http://www.andisun.com/wp-content/uploads/2009/07/j2me_olah_command02.png" alt="Setelah mengklik tombol" width="211" height="314" /><p class="wp-caption-text">Setelah mengklik tombol</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.andisun.com/tutorials/j2me-programming/mengelola-tombol-object-command/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Menangkap Event pada Tombol</title>
		<link>http://www.andisun.com/tutorials/j2me-programming/menangkap-event-pada-tombol</link>
		<comments>http://www.andisun.com/tutorials/j2me-programming/menangkap-event-pada-tombol#comments</comments>
		<pubDate>Wed, 22 Jul 2009 07:54:09 +0000</pubDate>
		<dc:creator>myandisun</dc:creator>
				<category><![CDATA[J2ME-Mobile Programming]]></category>
		<category><![CDATA[Add]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[command]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[J2ME]]></category>

		<guid isPermaLink="false">http://www.andisun.com/?p=217</guid>
		<description><![CDATA[Agar sebuah tombol dapat berfungsi, maka event yang terjadi pada tombol harus di tangkap. Program diatas ketika di klik tombol Exit belum dapat keluar dari program. ?View Code JAVA1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 [...]]]></description>
			<content:encoded><![CDATA[<p>Agar sebuah tombol dapat berfungsi, maka event yang terjadi pada tombol harus di tangkap.</p>
<p>Program diatas ketika di klik tombol Exit belum dapat keluar dari program.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p217code34'); return false;">View Code</a> JAVA</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p21734"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
</pre></td><td class="code" id="p217code34"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.microedition.midlet.*</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.microedition.lcdui.*</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> EventCommand <span style="color: #000000; font-weight: bold;">extends</span> MIDlet <span style="color: #000000; font-weight: bold;">implements</span> CommandListener<span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">private</span> Display display<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">private</span> TextBox mainScreen<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">private</span> Command cmdExit<span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> EventCommand<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        display <span style="color: #339933;">=</span> Display.<span style="color: #006633;">getDisplay</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        mainScreen <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> TextBox<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Hello&quot;</span>, <span style="color: #0000ff;">&quot;Hello World&quot;</span>, <span style="color: #cc66cc;">512</span>, <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        cmdExit <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Command<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Exit&quot;</span>, Command.<span style="color: #006633;">EXIT</span>, <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        mainScreen.<span style="color: #006633;">addCommand</span><span style="color: #009900;">&#40;</span>cmdExit<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        mainScreen.<span style="color: #006633;">setCommandListener</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> startApp<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        display.<span style="color: #006633;">setCurrent</span><span style="color: #009900;">&#40;</span>mainScreen<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> pauseApp<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> destroyApp<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">boolean</span> unconditional<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> commandAction<span style="color: #009900;">&#40;</span>Command c, Displayable d<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>c<span style="color: #339933;">==</span>cmdExit<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
            destroyApp<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            notifyDestroyed<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Hal-hal yang harus disertakan dalam menangkap sebuah event adalah:</p>
<ol>
<li>&#8230; implement Command Listener</li>
<li>&#8230; setComamndListener</li>
<li>&#8230; commandAction</li>
</ol>
<p><strong>Catatan:</strong></p>
<p>Ketika menambahkan implement CommandListener maka akan terdapat pesan kesalahan. Kesalahan tersebut terjadi karena jika menggunakan interface Command Listener harus disertai dengan method commandAction.</p>
<p>Aksi yang akan terjadi pada event di atur pada method commandAction. Pada aplikasi ini ketika ditekan tombol &#8220;Exit&#8221;, maka akan keluar dari program.</p>
<pre>public void commandAction(Command c, Displayable d) {
 if (c==cmdExit){
  destroyApp(false);
  notifyDestroyed();
 }
}</pre>
<p>Hasil running program di atas adalah:</p>
<div id="attachment_223" class="wp-caption alignleft" style="width: 252px"><img class="size-full wp-image-223  " title="j2me_event01" src="http://www.andisun.com/wp-content/uploads/2009/07/j2me_event01.png" alt="Sebelum di klik &quot;Exit&quot;" width="242" height="358" /><p class="wp-caption-text">Sebelum diklik &quot;Exit&quot;</p></div>
<div id="attachment_224" class="wp-caption alignleft" style="width: 259px"><img class="size-full wp-image-224  " title="j2me_event02" src="http://www.andisun.com/wp-content/uploads/2009/07/j2me_event02.png" alt="Setelah diklik &quot;Exit&quot;" width="249" height="358" /><p class="wp-caption-text">Setelah diklik &quot;Exit&quot;</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.andisun.com/tutorials/j2me-programming/menangkap-event-pada-tombol/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Menambah Tombol</title>
		<link>http://www.andisun.com/tutorials/j2me-programming/menambah-tombol</link>
		<comments>http://www.andisun.com/tutorials/j2me-programming/menambah-tombol#comments</comments>
		<pubDate>Wed, 22 Jul 2009 03:35:56 +0000</pubDate>
		<dc:creator>myandisun</dc:creator>
				<category><![CDATA[J2ME-Mobile Programming]]></category>
		<category><![CDATA[Add]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[command]]></category>
		<category><![CDATA[J2ME]]></category>
		<category><![CDATA[Remove]]></category>

		<guid isPermaLink="false">http://www.andisun.com/?p=206</guid>
		<description><![CDATA[Tombol pada sebuah aplikasi sangat penting. Tombol biasanya digunakan untuk mengendalikan jalannya program. Pada program ini kita akan menambahkan tombol pada aplikasi J2ME. ?View Code JAVA1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 import javax.microedition.midlet.*; import javax.microedition.lcdui.*; &#160; [...]]]></description>
			<content:encoded><![CDATA[<p>Tombol pada sebuah aplikasi sangat penting. Tombol biasanya digunakan untuk mengendalikan jalannya program. Pada program ini kita akan menambahkan tombol pada aplikasi J2ME.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p206code36'); return false;">View Code</a> JAVA</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p20636"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
</pre></td><td class="code" id="p206code36"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.microedition.midlet.*</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.microedition.lcdui.*</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> AddCommand <span style="color: #000000; font-weight: bold;">extends</span> MIDlet<span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">private</span> Display display<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">private</span> TextBox mainScreen<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">private</span> Command cmdExit<span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> AddCommand<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        display <span style="color: #339933;">=</span> Display.<span style="color: #006633;">getDisplay</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        mainScreen <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> TextBox<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Hello&quot;</span>, <span style="color: #0000ff;">&quot;Hello World&quot;</span>, <span style="color: #cc66cc;">512</span>, <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        cmdExit <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Command<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Exit&quot;</span>, Command.<span style="color: #006633;">EXIT</span>, <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        mainScreen.<span style="color: #006633;">addCommand</span><span style="color: #009900;">&#40;</span>cmdExit<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> startApp<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        display.<span style="color: #006633;">setCurrent</span><span style="color: #009900;">&#40;</span>mainScreen<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> pauseApp<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> destroyApp<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">boolean</span> unconditional<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Mendefinisikan tombol pada J2ME menggunakan class <strong>Command.</strong> Berikut mendefinisikan tombol bernama cmdExit:</p>
<pre>public class AddCommand extends MIDlet {
   ...
   private Command cmdExit;</pre>
<p>Membuat bentuk instant cmdExit dan menambahkannya kedalam Class mainScreen. Class main screen harus turunan dari class Displayable.</p>
<pre>public AddCommand(){
...
cmdExit = new Command("Exit", Command.EXIT, 1);
mainScreen.addCommand(cmdExit);
}</pre>
<p>Tampilan program di atas adalah sebagai berikut</p>
<div id="attachment_214" class="wp-caption alignnone" style="width: 257px"><img class="size-full wp-image-214" title="j2me_addcommand" src="http://www.andisun.com/wp-content/uploads/2009/07/j2me_addcommand1.png" alt="Tombol Exit Muncul pada Bagian Kiri" width="247" height="364" /><p class="wp-caption-text">Tombol Exit Muncul pada Bagian Kiri</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.andisun.com/tutorials/j2me-programming/menambah-tombol/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

