<?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>Battisti - Blog &#187; java</title>
	<atom:link href="http://battisti.etc.br/category/java/feed/" rel="self" type="application/rss+xml" />
	<link>http://battisti.etc.br</link>
	<description>Tecnologia, Web e um pouco de cultura inútil</description>
	<lastBuildDate>Fri, 27 Jan 2012 11:49:09 +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>JavaME Usando Form Exemplo Simples</title>
		<link>http://battisti.etc.br/2009/05/18/javame-usando-form-exemplo-simples/</link>
		<comments>http://battisti.etc.br/2009/05/18/javame-usando-form-exemplo-simples/#comments</comments>
		<pubDate>Mon, 18 May 2009 23:42:40 +0000</pubDate>
		<dc:creator>battisti</dc:creator>
				<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://battisti.etc.br/?p=447</guid>
		<description><![CDATA[Introdução Hoje tive uma aula muito interessante aqui na pós sobre o desenvolvimento para aplicativos móveis usando o JavaME, depois de fazer alguns exercícios resolvi postar aqui um exemplo bem simples que implementamos durante a aula. Objetivo do Exemplo Neste exemplo será criado um formulário com dois combo onde serão armazenados os nomes de algumas [...]]]></description>
			<content:encoded><![CDATA[<div class="mwordstext"><h1>Introdução</h1>
<p>Hoje tive uma aula muito interessante aqui na pós sobre o desenvolvimento para aplicativos móveis usando o <a href="http://java.sun.com/javame/index.jsp" target="_self">JavaME</a>, depois de fazer alguns exercícios resolvi postar aqui um exemplo bem simples que implementamos durante a aula.</p>
<h1><span id="more-447"></span>Objetivo do Exemplo</h1>
<p>Neste exemplo será criado um formulário com dois <em>combo</em> onde serão armazenados os nomes de algumas cidades, depois de escolher as cidades será calculado a distância entre elas.</p>
<h1><strong>O Código Fonte</strong></h1>

<div class="wp_syntax"><div class="code"><pre class="java"><span class="kw1">package</span> <span class="co2">hello</span><span class="sy0">;</span>
&nbsp;
<span class="kw1">import</span> <span class="co2">javax.microedition.midlet.*</span><span class="sy0">;</span>
<span class="kw1">import</span> <span class="co2">javax.microedition.lcdui.*</span><span class="sy0">;</span>
&nbsp;
<span class="co3">/**
 * @author Anselmo Battisti
 */</span>
<span class="kw1">public</span> <span class="kw1">class</span> HelloMIDlet <span class="kw1">extends</span> MIDlet <span class="kw1">implements</span> CommandListener <span class="br0">&#123;</span>
&nbsp;
    <span class="kw1">private</span> <span class="kw4">boolean</span> midletPaused <span class="sy0">=</span> <span class="kw2">false</span><span class="sy0">;</span>
&nbsp;
    <span class="kw1">private</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a><span class="br0">&#91;</span><span class="br0">&#93;</span> cidades <span class="sy0">=</span> <span class="br0">&#123;</span><span class="st0">&quot;Tupãssi&quot;</span>,<span class="st0">&quot;JS&quot;</span>,<span class="st0">&quot;Cascavel&quot;</span><span class="br0">&#125;</span><span class="sy0">;</span>
    <span class="kw1">private</span> <span class="kw4">int</span><span class="br0">&#91;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="br0">&#93;</span> distancia<span class="sy0">;</span>
&nbsp;
    <span class="co1">// interface</span>
    <span class="kw1">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 class="kw3">List</span></a> listInicioTrajeto<span class="sy0">;</span>
    <span class="kw1">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 class="kw3">List</span></a> listFimTrajeto<span class="sy0">;</span>
    <span class="kw1">private</span> TextBox tbxDistancia<span class="sy0">;</span>
&nbsp;
    <span class="co1">// comandos</span>
    Command avancar <span class="sy0">=</span> <span class="kw1">new</span> Command<span class="br0">&#40;</span><span class="st0">&quot;Destino&quot;</span>,Command.<span class="me1">OK</span>,<span class="nu0">0</span><span class="br0">&#41;</span><span class="sy0">;</span>
    Command calcular <span class="sy0">=</span> <span class="kw1">new</span> Command<span class="br0">&#40;</span><span class="st0">&quot;Distancia,&quot;</span>,Command.<span class="me1">OK</span>,<span class="nu0">0</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
    <span class="co1">//</span>
    <span class="kw1">private</span> Command exitCommand<span class="sy0">;</span>
    <span class="kw1">private</span> Form form<span class="sy0">;</span>
    <span class="kw1">private</span> StringItem stringItem<span class="sy0">;</span>
    <span class="co1">//</span>
&nbsp;
    <span class="co3">/**
     * The HelloMIDlet constructor.
     */</span>
    <span class="kw1">public</span> HelloMIDlet<span class="br0">&#40;</span><span class="br0">&#41;</span>
    <span class="br0">&#123;</span>
        <span class="co1">// distancia entre as cidades</span>
        distancia <span class="sy0">=</span> <span class="kw1">new</span> <span class="kw4">int</span><span class="br0">&#91;</span><span class="nu0">3</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="nu0">3</span><span class="br0">&#93;</span><span class="sy0">;</span>
&nbsp;
        distancia<span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span>
        distancia<span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span>
        distancia<span class="br0">&#91;</span><span class="nu0">2</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="nu0">2</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span>
&nbsp;
        distancia<span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu0">10</span><span class="sy0">;</span>
        distancia<span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu0">10</span><span class="sy0">;</span>
&nbsp;
        distancia<span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="nu0">2</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu0">30</span><span class="sy0">;</span>
        distancia<span class="br0">&#91;</span><span class="nu0">2</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu0">30</span><span class="sy0">;</span>
&nbsp;
        distancia<span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="nu0">2</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu0">40</span><span class="sy0">;</span>
        distancia<span class="br0">&#91;</span><span class="nu0">2</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu0">40</span><span class="sy0">;</span>
    <span class="br0">&#125;</span>
&nbsp;
    <span class="kw1">private</span> <span class="kw4">void</span> initialize<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
    <span class="br0">&#125;</span>
    <span class="kw1">public</span> <span class="kw4">void</span> startMIDlet<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
        switchDisplayable<span class="br0">&#40;</span><span class="kw2">null</span>, getForm<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span>
    <span class="br0">&#125;</span>
&nbsp;
    <span class="kw1">public</span> <span class="kw4">void</span> resumeMIDlet<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
    <span class="br0">&#125;</span>
&nbsp;
    <span class="kw1">public</span> <span class="kw4">void</span> switchDisplayable<span class="br0">&#40;</span>Alert alert, Displayable nextDisplayable<span class="br0">&#41;</span> <span class="br0">&#123;</span>
        <span class="co1">// write pre-switch user code here</span>
        Display display <span class="sy0">=</span> getDisplay<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
        <span class="kw1">if</span> <span class="br0">&#40;</span>alert <span class="sy0">==</span> <span class="kw2">null</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
            display.<span class="me1">setCurrent</span><span class="br0">&#40;</span>nextDisplayable<span class="br0">&#41;</span><span class="sy0">;</span>
        <span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span>
            display.<span class="me1">setCurrent</span><span class="br0">&#40;</span>alert, nextDisplayable<span class="br0">&#41;</span><span class="sy0">;</span>
        <span class="br0">&#125;</span>
        <span class="co1">// write post-switch user code here</span>
    <span class="br0">&#125;</span>
&nbsp;
    <span class="kw1">public</span> <span class="kw4">void</span> commandAction<span class="br0">&#40;</span>Command command, Displayable displayable<span class="br0">&#41;</span> <span class="br0">&#123;</span>
&nbsp;
        <span class="kw1">if</span><span class="br0">&#40;</span>command <span class="sy0">==</span> avancar<span class="br0">&#41;</span><span class="br0">&#123;</span>
            listFimTrajeto.<span class="me1">setTitle</span><span class="br0">&#40;</span><span class="st0">&quot;Fim do Trajeto&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span>
            listFimTrajeto.<span class="me1">addCommand</span><span class="br0">&#40;</span>calcular<span class="br0">&#41;</span><span class="sy0">;</span>
            <span class="kw1">this</span>.<span class="me1">getDisplay</span><span class="br0">&#40;</span><span class="br0">&#41;</span>.<span class="me1">setCurrent</span><span class="br0">&#40;</span>listFimTrajeto<span class="br0">&#41;</span><span class="sy0">;</span>
        <span class="br0">&#125;</span> <span class="kw1">else</span> <span class="kw1">if</span> <span class="br0">&#40;</span>command <span class="sy0">==</span> calcular<span class="br0">&#41;</span><span class="br0">&#123;</span>
            <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> dist <span class="sy0">=</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Ainteger+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Integer</span></a>.<span class="me1">toString</span><span class="br0">&#40;</span><span class="kw1">this</span>.<span class="me1">getDistancia</span><span class="br0">&#40;</span>listInicioTrajeto.<span class="me1">getSelectedIndex</span><span class="br0">&#40;</span><span class="br0">&#41;</span>,listFimTrajeto.<span class="me1">getSelectedIndex</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span>
            tbxDistancia.<span class="me1">setString</span><span class="br0">&#40;</span>dist<span class="br0">&#41;</span><span class="sy0">;</span>
            <span class="kw1">this</span>.<span class="me1">getDisplay</span><span class="br0">&#40;</span><span class="br0">&#41;</span>.<span class="me1">setCurrent</span><span class="br0">&#40;</span>tbxDistancia<span class="br0">&#41;</span><span class="sy0">;</span>
        <span class="br0">&#125;</span>
    <span class="br0">&#125;</span>
&nbsp;
    <span class="co3">/**
     * Returns an initiliazed instance of exitCommand component.
     * @return the initialized component instance
     */</span>
    <span class="kw1">public</span> Command getExitCommand<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
        <span class="kw1">if</span> <span class="br0">&#40;</span>exitCommand <span class="sy0">==</span> <span class="kw2">null</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
            <span class="co1">// write pre-init user code here</span>
            exitCommand <span class="sy0">=</span> <span class="kw1">new</span> Command<span class="br0">&#40;</span><span class="st0">&quot;Exit&quot;</span>, Command.<span class="me1">EXIT</span>, <span class="nu0">0</span><span class="br0">&#41;</span><span class="sy0">;</span>
            <span class="co1">// write post-init user code here</span>
        <span class="br0">&#125;</span>
        <span class="kw1">return</span> exitCommand<span class="sy0">;</span>
    <span class="br0">&#125;</span>
&nbsp;
    <span class="kw1">public</span> Form getForm<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
        <span class="kw1">if</span> <span class="br0">&#40;</span>form <span class="sy0">==</span> <span class="kw2">null</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
            <span class="co1">// write pre-init user code here</span>
            form <span class="sy0">=</span> <span class="kw1">new</span> Form<span class="br0">&#40;</span><span class="st0">&quot;Welcome&quot;</span>, <span class="kw1">new</span> Item<span class="br0">&#91;</span><span class="br0">&#93;</span> <span class="br0">&#123;</span> getStringItem<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span>
            form.<span class="me1">addCommand</span><span class="br0">&#40;</span>getExitCommand<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span>
            form.<span class="me1">setCommandListener</span><span class="br0">&#40;</span><span class="kw1">this</span><span class="br0">&#41;</span><span class="sy0">;</span>
            <span class="co1">// write post-init user code here</span>
        <span class="br0">&#125;</span>
        <span class="kw1">return</span> form<span class="sy0">;</span>
    <span class="br0">&#125;</span>
&nbsp;
    <span class="kw1">public</span> StringItem getStringItem<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
        <span class="kw1">if</span> <span class="br0">&#40;</span>stringItem <span class="sy0">==</span> <span class="kw2">null</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
            <span class="co1">// write pre-init user code here</span>
            stringItem <span class="sy0">=</span> <span class="kw1">new</span> StringItem<span class="br0">&#40;</span><span class="st0">&quot;Hello&quot;</span>, <span class="st0">&quot;Hello, World!&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span>
            <span class="co1">// write post-init user code here</span>
        <span class="br0">&#125;</span>
        <span class="kw1">return</span> stringItem<span class="sy0">;</span>
    <span class="br0">&#125;</span>
&nbsp;
    <span class="kw1">public</span> Display getDisplay <span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
        <span class="kw1">return</span> Display.<span class="me1">getDisplay</span><span class="br0">&#40;</span><span class="kw1">this</span><span class="br0">&#41;</span><span class="sy0">;</span>
    <span class="br0">&#125;</span>
&nbsp;
    <span class="kw1">public</span> <span class="kw4">void</span> exitMIDlet<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
        switchDisplayable <span class="br0">&#40;</span><span class="kw2">null</span>, <span class="kw2">null</span><span class="br0">&#41;</span><span class="sy0">;</span>
        destroyApp<span class="br0">&#40;</span><span class="kw2">true</span><span class="br0">&#41;</span><span class="sy0">;</span>
        notifyDestroyed<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
    <span class="br0">&#125;</span>
&nbsp;
    <span class="kw1">public</span> <span class="kw4">void</span> startApp<span class="br0">&#40;</span><span class="br0">&#41;</span>
    <span class="br0">&#123;</span>
        listInicioTrajeto <span class="sy0">=</span> <span class="kw1">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 class="kw3">List</span></a><span class="br0">&#40;</span><span class="st0">&quot;Origem&quot;</span>,<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Alist+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">List</span></a>.<span class="me1">EXCLUSIVE</span>,cidades,<span class="kw2">null</span><span class="br0">&#41;</span><span class="sy0">;</span>
        listInicioTrajeto.<span class="me1">setCommandListener</span><span class="br0">&#40;</span><span class="kw1">this</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
        listFimTrajeto <span class="sy0">=</span> <span class="kw1">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 class="kw3">List</span></a><span class="br0">&#40;</span><span class="st0">&quot;Destino&quot;</span>,<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Alist+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">List</span></a>.<span class="me1">EXCLUSIVE</span>,cidades,<span class="kw2">null</span><span class="br0">&#41;</span><span class="sy0">;</span>
        listFimTrajeto.<span class="me1">setCommandListener</span><span class="br0">&#40;</span><span class="kw1">this</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
        <span class="co1">// tela inicial da aplicação</span>
        listInicioTrajeto.<span class="me1">setTitle</span><span class="br0">&#40;</span><span class="st0">&quot;Inicio do Trajeto&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span>
        listInicioTrajeto.<span class="me1">addCommand</span><span class="br0">&#40;</span>avancar<span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
        tbxDistancia <span class="sy0">=</span> <span class="kw1">new</span> TextBox<span class="br0">&#40;</span><span class="st0">&quot;A Distancia eh&quot;</span>, <span class="st0">&quot;&quot;</span>, <span class="nu0">30</span>, <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Atextfield+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">TextField</span></a>.<span class="me1">ANY</span><span class="br0">&#41;</span><span class="sy0">;</span>
        <span class="kw1">this</span>.<span class="me1">getDisplay</span><span class="br0">&#40;</span><span class="br0">&#41;</span>.<span class="me1">setCurrent</span><span class="br0">&#40;</span>listInicioTrajeto<span class="br0">&#41;</span><span class="sy0">;</span>
    <span class="br0">&#125;</span>
&nbsp;
    <span class="kw1">private</span> <span class="kw4">int</span> getDistancia<span class="br0">&#40;</span><span class="kw4">int</span> cidInicial, <span class="kw4">int</span> cidFinal<span class="br0">&#41;</span>
    <span class="br0">&#123;</span>
        <span class="kw1">return</span> <span class="kw1">this</span>.<span class="me1">distancia</span><span class="br0">&#91;</span>cidInicial<span class="br0">&#93;</span><span class="br0">&#91;</span>cidFinal<span class="br0">&#93;</span><span class="sy0">;</span>
    <span class="br0">&#125;</span>
&nbsp;
    <span class="kw1">public</span> <span class="kw4">void</span> pauseApp<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
        midletPaused <span class="sy0">=</span> <span class="kw2">true</span><span class="sy0">;</span>
    <span class="br0">&#125;</span>
&nbsp;
    <span class="kw1">public</span> <span class="kw4">void</span> destroyApp<span class="br0">&#40;</span><span class="kw4">boolean</span> unconditional<span class="br0">&#41;</span> <span class="br0">&#123;</span>
    <span class="br0">&#125;</span>
<span class="br0">&#125;</span></pre></div></div>

<h1>Conclusão</h1>
<p>Depois de compilar deve aparecer algo +- como a imagem abaixo.</p>
<p><img class="aligncenter size-full wp-image-450" title="exemplo" src="http://battisti.etc.br/wp-content/uploads/2009/05/exemplo.gif" alt="exemplo" width="257" height="363" /></p>
<p>Se você quiser fazer teu aplicativo rodar no teu celuar ai vai algumas dicas:</p>
<ol>
<li>Antes de fazer o <em>deploy</em> da aplicação verifique qual versão do MIDP o celular suporta, eu apanhei um pouco nisso pq o meu a1200i roda MIDP 2.0 e eu estava fazendo o <em>deplou</em> para MIDP 2.1</li>
<li>Não existe uma compatibilidade de interface entre as várias implementações de MIDP ou seja, se vc testou no a1200i não significa que a interface vai se comportaar da mesma forma em outro aparelho, principalmente se ele for de outro fabricante.</li>
</ol>
</div><!-- fim mwordstext -->]]></content:encoded>
			<wfw:commentRss>http://battisti.etc.br/2009/05/18/javame-usando-form-exemplo-simples/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

