blob: 58e14414c82c1bb35b130e1e122b0b9455a83cfe [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. -->
<!-- Use is subject to license terms.-->
<html>
<head>
<title>Componentes personalizados do Visual Mobile Designer: Usando itens de tabela em aplicativos Java ME - Tutorial do NetBeans IDE</title>
<link rel="stylesheet" type="text/css" href="../../../netbeans.css">
<meta name="Karol Harezlak" content="NetBeans Visual Mobile Designer">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
</head>
<body>
<a name="top"></a>
<h1>Componentes personalizados do Visual Mobile Designer: Usando itens de tabela em aplicativos Java ME</h1>
<p> O Visual Mobile Designer (VMD) permite criar aplicativos Java ME usando componentes de arrastar e soltar. Com ele, voc&ecirc; pode determinar o fluxo do aplicativo, bem como a apar&ecirc;ncia e funcionalidade da IU usando os componentes fornecidos pelo IDE ou usando componentes criados por voc&ecirc;. O VMD cont&eacute;m muitos componentes padr&atilde;o que voc&ecirc; pode usar para criar seu aplicativo: Listas, Alertas, Formul&aacute;rios, Imagens, etc. Tamb&eacute;m inclui componentes personalizados que simplificam a cria&ccedil;&atilde;o de recursos mais complexos, tais como telas de espera, telas de splash, itens de tabela, etc. </p>
<p>O componente Item de tabela permite criar rapidamente tabelas formadas por uma ou mais colunas, cada uma com &aacute;rea de cabe&ccedil;alho e &aacute;rea de dados que se repetem em cada registro. A tabela pode ser maior que a tela tanto vertical quanto horizontalmente. Os usu&aacute;rios podem usar um cursor para rolar em ambas as dire&ccedil;&otilde;es. A utiliza&ccedil;&atilde;o do componente Item de tabela do Visual Mobile Designer (VMD) simplifica a cria&ccedil;&atilde;o e implementa&ccedil;&atilde;o de tabelas de dados no aplicativo Java ME. </p>
<p>Se voc&ecirc; &eacute; novo no desenvolvimento de aplicativos m&oacute;veis no NetBeans, deveria come&ccedil;ar pelo<A HREF="quickstart.html"> Guia de in&iacute;cio r&aacute;pido do NetBeans Java ME MIDP</A> antes de continuar.</p>
<!--<p class="notes"><b>Observa&ccedil;&atilde;o:</b> Se voc&ecirc; estiver usando o NetBeans IDE 6.8, consulte o tutorial <a href="../../68/javame/tableitem.html">Usando itens de tabela em aplicativos Java ME no NetBeans IDE 6.8</a>.</p>-->
<h3>Conte&uacute;do</h3>
<img src="../../../images_www/articles/69/netbeans-stamp-69-70-71.png" class="stamp" alt="O conte&uacute;do desta p&aacute;gina se aplica ao NetBeans IDE 6.9 ou posterior" title="O conte&uacute;do desta p&aacute;gina se aplica ao NetBeans IDE 6.9 ou posterior" >
<ul>
<li><a href="#intro" title="Como funciona o componente TableItem">Como funciona o componente TableItem</a></li>
<li><a href="#sample" title="Instalando e executando o aplicativo de amostra">Instalando e executando o aplicativo de amostra</a></li>
<li><a href="#creating" title="Criando um aplicativo Java ME com o componente Item de tabela personalizado">Criando um aplicativo Java ME com o componente Item de tabela personalizado</a>
<ul>
<li> <a href="#create">Criando o projeto MyTableExample</a> </li>
<li><a href="#add">Adicionando pacotes e um MIDlet visual ao projeto MyTableExample</a></li>
<li><a href="#addcomponent">Adicione os componentes a MyTableMIDlet</a></li>
<li><a href="#edit">Edite o projeto do SimpleTableModel</a></li>
<li><a href="#addcommands">Adicionando comandos ao Formul&aacute;rio e componentes do TextBox</a></li>
<li><a href="#connect">Conectando os componentes para criar um fluxo de aplicativo</a></li>
<li><a href="#insert">Inserindo um C&oacute;digo-fonte</a></li>
<li><a href="#run">Executando o projeto</a></li>
</ul></li>
<li><a href="#nextsteps" title="Consulte tamb&eacute;m">Consulte tamb&eacute;m</a></li>
</ul>
<p><b>Para concluir este tutorial, s&atilde;o necess&aacute;rios os seguintes recursos e softwares:</b></p>
<table>
<tbody>
<tr>
<th class="tblheader" scope="col">Software ou recurso</th>
<th class="tblheader" scope="col">Vers&atilde;o necess&aacute;ria</th>
</tr>
<tr>
<td class="tbltd1"><a href="https://netbeans.org/downloads/index.html">NetBeans IDE com Java ME</a></td>
<td class="tbltd1">Vers&atilde;o 6.9 ou posterior</td>
</tr>
<tr>
<td class="tbltd1"><a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">Java Development Kit</a> (JDK)</td>
<td class="tbltd1">Vers&atilde;o 6 ou vers&atilde;o 7</td>
</tr>
</tbody>
</table>
<h2><a name="intro"></a>Introdu&ccedil;&atilde;o: Como funciona o componente TableItem</h2>
<p>Este exemplo mostra como usar os componentes Item de tabela e Modelo de tabela em um aplicativo m&oacute;vel. Demonstra os recursos b&aacute;sicos dos componentes e tamb&eacute;m como us&aacute;-los para visualizar e manipular os dados em seu aplicativo Java ME dentro do componente Modelo de tabela simples. O componente TableItem personalizado discutido neste tutorial usa uma tabela da interface de Modelo de tabela simples, exibe os dados e permite inclusive que o usu&aacute;rio edite os dados.</p>
<p>Al&eacute;m do componente Item de tabela personalizado, precisamos usar dois outros componentes MIDP: Caixa de texto e Formul&aacute;rio. Para saber mais sobre esse e outros componentes inclu&iacute;dos na paleta do VMD, consulte o <a href="http://wiki.netbeans.org/VisualMobileDesignerPalatteReference">Guia da paleta do Visual Mobile Designer</a>.</p>
<h2><a name="sample"></a>Instalando e executando o aplicativo de amostra</h2>
<p> Antes de come&ccedil;ar, talvez voc&ecirc; queira ver o resultado final do
tutorial. Siga as etapas a seguir para instalar o aplicativo de amostra </code>TableItemExample<code>:</p>
<ol>
<li>Download do arquivo <a href="https://netbeans.org/projects/samples/downloads/download/Samples/Mobile/TableItemExample.zip">TableItemExample.zip</a>.</li>
<li> Descompacte o arquivo. </li>
<li> No IDE, selecione <tt>Arquivo</tt> &gt; <tt>Abrir projeto</tt>e navegue at&eacute; a pasta que cont&eacute;m os arquivos descompactados. </li>
<li>Abra a janela Projetos. Ela deve ser parecida com o seguinte:
<p class="align-center"><img src="../../../images_www/articles/71/mobility/tableitem/ti-project-window.png" border=1 alt="Janela Projeto com o exemplo do Item de tabela" ></p>
</li>
<li>Na janela Projetos, clique com o bot&atilde;o direito do mouse no n&oacute; do projeto e escolha Executar projeto (ou pressione F6). Conforme o aplicativo &eacute; executado, uma janela do emulador se abre e exibe o aplicativo que est&aacute; sendo executado no emulador do dispositivo padr&atilde;o. </li>
<li>Na janela Emulador, clique no bot&atilde;o abaixo de
&quot;Iniciar.&quot; O emulador exibe uma tabela, conforme mostrado:
<p class="align-center"><img src="../../../images_www/articles/71/mobility/tableitem/ti-emulator.png" border=1 alt="O emulador DefaultColorPhone exibindo a amostra do aplicativo de tabela" > </p> </li>
<li>Edite a tabela:
<ul>
<li>Mova o cursor de uma c&eacute;lula a outra usando as setas direcionais do bot&atilde;o Selecionar.</li>
<li>Clique no bot&atilde;o abaixo de &quot;Editar c&eacute;lula&quot; para editar o conte&uacute;do de uma c&eacute;lula.</li>
</ul></li>
<li>Clique no bot&atilde;o abaixo de &quot;Sair&quot; para fechar o aplicativo. </li>
</ol>
<p class="align-center"><a href="#top">in&iacute;cio</a></p>
<h2><a name="creating"></a>Criando uma tabela com um componente Item de tabela personalizado </h2>
<div class="indent">
<p>Agora que voc&ecirc; viu o componente Item de tabela em a&ccedil;&atilde;o, podemos mostrar como criar esse aplicativo. Para criar o aplicativo, fa&ccedil;a o seguinte: </p>
</div>
<ol>
<li> <a href="#create">Crie o projeto MyTableExample</a> </li>
<li><a href="#add">Adicionar pacotes e um MIDlet visual ao projeto MyTableExample</a></li>
<li><a href="#addcomponent">Adicionar os componentes a MyTableMIDlet</a></li>
<li><a href="#edit">Edite o projeto SimpleTableModel</a></li>
<li><a href="#addcommands">Adicione comandos aos componentes Formul&aacute;rio e Caixa de texto</a></li>
<li><a href="#connect">Conecte os componentes para criar um fluxo de aplicativo</a></li>
<li><a href="#insert">Inserindo um C&oacute;digo-fonte</a></li>
<li><a href="#run">Executar o projeto</a></li>
</ol>
<div class="indent">
<h3 class="tutorial">Criando o projeto MyTableExample<a name="create"></a></h3>
<ol>
<li> Escolha <tt>Arquivo</tt> &gt; <tt>Novo projeto (Ctrl-Shift-N)</tt>. Em Categorias, selecione Java ME. Em Projetos, selecione Aplicativo m&oacute;vel e clique em Pr&oacute;ximo. </li>
<li> Indique <code>MyTableExample</code> no campo Nome do projeto. Altere a Localiza&ccedil;&atilde;o do projeto para um diret&oacute;rio em seu sistema. A partir de agora, podemos chamar este diret&oacute;rio de <tt>$PROJECTHOME</tt>. </li>
<li> Desmarque a caixa de verifica&ccedil;&atilde;o Criar Hello MIDlet. Clique em Pr&oacute;ximo. </li>
<li> Selecione o Java Platform Micro Edition SDK 3.0 como a plataforma do emulador. Clique em Terminar. </li>
<!--li> Click Finish. The project folder contains all of your sources and project metadata, such
as the project Ant script. The application itself is displayed in the Flow Design window of the Visual Mobile Designer. </li-->
</ol>
<h3 class="tutorial">Adicionando pacotes e um
MIDlet visual ao projeto MyTableExample<a name="add"></a></h3>
<ol>
<li> Selecione o projeto <code>MyTableExample</code> na janela Projeto e, a seguir, selecione<tt>Arquivo</tt> &gt; <tt>Novo arquivo (Ctrl-N)</tt> . Em Categorias, selecione Java. Em Tipos de arquivo,
selecione Pacote Java. Clique em Pr&oacute;ximo. </li>
<li> Insira <code>tableitemexample</code> no campo Nome do pacote. Clique em Terminar.
</li>
<li> Escolha o pacote <code>tableitemexample</code> na janela Projeto e, a seguir, escolha <tt>Arquivo</tt> &gt; <tt>Novo arquivo (Ctrl-N)</tt>. Em Categorias, selecione MIDP. Em Tipos de arquivo, selecione
MIDlet visual. Clique em Pr&oacute;ximo. </li>
<li> Indique <code>MyTableItemMidlet</code> nos campos Nome do MIDlet e Nome da classe MIDP. Clique em Terminar. </li>
</ol>
<h3 class="tutorial"><a name="addcomponent"></a>Adicione os componentes a MyTableItemMidlet</h3>
<ol>
<li> Alterne seu MIDlet visual para a visualiza&ccedil;&atilde;o Fluxo. Arraste os componentes Tela seguintes da paleta e solte-os no Designer de fluxo:
<ul>
<li>
<div class="indent"> Formul&aacute;rio</div>
</li>
<li>
<div class="indent">Caixa de texto</div>
</li>
</ul></li>
<li>Selecione <tt>textBox</tt> e altere o t&iacute;tulo do componente para <tt>Editar</tt> na janela Propriedades.</li>
<li>Clique duas vezes no componente <tt>form</tt> na janela Fluxo para alterar para a visualiza&ccedil;&atilde;o da Tela. </li>
<li>Arraste componente <tt>Table Item</tt> na se&ccedil;&atilde;o Itens do formul&aacute;rio da Paleta e solte-o no <tt>form</tt>. O componente <tt>Table Item</tt> tem a seguinte apar&ecirc;ncia quando &eacute; adicionado ao Screen Designer:
<p class="align-center"><img src="../../../images_www/articles/71/mobility/tableitem/ti-tableitemform.png" border=1 alt="Mostra o Designer de tela com o Item de tabela na tela do dispositivo" ></p>
</li>
<li>Clique em <tt>tableItem</tt> e, na janela Propriedades, digite <code>TableItem Example</code> no valor da propriedade R&oacute;tulo.</li>
<li>No navegador, clique com o bot&atilde;o direito do mouse no componente <tt>tableItem</tt> e escolha Propriedades no menu pop-up.</li>
<li>Clique na seta (<img src="../../../images_www/articles/71/mobility/tableitem/arrow.png" border=1 alt="Seta">) na propriedade Table Model e selecione <tt>&lt;New SimpleTableModel&gt;</tt> na lista suspensa.</li>
<li>Clique em Fechar.<br>O componente <tt>simpleTableModel</tt> &eacute; adicionado aos Recursos.
<p class="align-center"><img src="../../../images_www/articles/71/mobility/tableitem/resources.png" border=1 alt="simpleTableModel adicionado" ></p></li>
</ol>
<h3 class="tutorial">Editando Modelo de tabela simples<a name="edit"></a></h3>
<ol>
<li> Na visualiza&ccedil;&atilde;o Tela, d&ecirc; dois clique no componente <tt>&lt;No table model specified&gt;</tt> para abrir a caixa de di&aacute;logo Valores. </li>
<li>Na caixa de di&aacute;logo Valores, selecione a op&ccedil;&atilde;o Usar Cabe&ccedil;alho.</li>
<li> Clique nos bot&otilde;es Adicionar Linha e Adicionar Coluna quatro vezes respectivamente para modificar o n&uacute;mero de linhas e colunas para 4.</li>
<li> Renomeie os cabe&ccedil;alhos da tabela para <tt>coluna 1</tt>, <tt>coluna 2</tt>, <tt>coluna 3</tt> e <tt>coluna 4</tt>.
<p class="align-center"> <img src="../../../images_www/articles/71/mobility/tableitem/ti-values-editor.png" border=1 alt="Modelo de tabela" > </p></li>
<li>Clique em OK para terminar.
<p class="align-center"> <img src="../../../images_www/articles/71/mobility/tableitem/ti-screeneditor_form1.png" border=1 alt="Modelo de tabela simples atribu&iacute;do para o componente TableItem" > </p></li>
</ol>
<h3 class="tutorial">Adicionando comandos aos componentes Formul&aacute;rio e Caixa de texto<a name="addcommands"></a></h3>
<ol>
<li>Abrir a visualiza&ccedil;&atilde;o de fluxo.</li>
<li>Escolha o </tt>comando Sair<tt> na se&ccedil;&atilde;o comandos da Paleta do componente. Arraste e solte no componente <tt>form</tt>. Repita esta a&ccedil;&atilde;o para o <tt>Item Comando</tt>.</li>
<li>Escolha <tt>itemCommand</tt> na visualiza&ccedil;&atilde;o da tela. Na janela Propriedades, altere o valor da propriedade R&oacute;tulo para </tt>Editar c&eacute;lula<tt>.
</li>
<li>Na visualiza&ccedil;&atilde;o de fluxo, escolha o <tt>comando OK</tt> na se&ccedil;&atilde;o Comandos da Paleta do componente e arraste-o e solte no componente </tt>texBox<tt>.
<p class="align-center"><img src="../../../images_www/articles/71/mobility/tableitem/ti-flow.png" border=1 alt="Exibe a visualiza&ccedil;&atilde;o de fluxo com os comandos adicionados" > </p></li>
</ol>
<h3 class="tutorial">Conectando componentes <a name="connect"></a></h3>
<div>
<p>Na visualiza&ccedil;&atilde;o Fluxo, clique em <tt>Started</tt> no Dispositivo m&oacute;vel e arraste-o para o componente <tt>form</tt>. Da mesma forma, conecte os componentes como mostrado no gr&aacute;fico seguinte.</p>
<p class="align-center"><img src="../../../images_www/articles/71/mobility/tableitem/ti-flowdesigner.png" border=1 alt="Mostra a janela Fluxo com componentes conectados pelas linhas de comando" ></p>
</div>
<h3 class="tutorial">Inserindo um C&oacute;digo-fonte<a name="insert"></a></h3>
<ol>
<li>Na vista Fluxo, clique com o bot&atilde;o direito do mouse em <tt>itemCommand</tt> do componente <tt>form</tt> e escolha Ir para o c&oacute;digo-fonte no menu pop-up.</li>
<li>Insira o seguinte c&oacute;digo antes do m&eacute;todo <tt>switchDisplayable</tt> onde se l&ecirc; <tt>// escreva aqui o c&oacute;digo da prea&ccedil;&atilde;o</tt>:
<pre class="examplecode">
if (textBox != null) {
// Get position of the cursor in the table.
int row = tableItem.getSelectedCellRow();
int column = tableItem.getSelectedCellColumn() ;
// Get value from the table model
Object value = simpleTableModel.getValue(column,row);
// Set textBox string value
if (value != null)
textBox.setString(value.toString());
else
textBox.setString(&quot;&quot;);
} </pre>
</li>
<li>Alterne para a vista Fluxo, clique com o bot&atilde;o direito do mouse em <tt>okCommand</tt> do componente </tt>textBox<tt> e escolha Ir para o c&oacute;digo-fonte no menu suspenso.</li>
<li>Insira o seguinte c&oacute;digo antes do m&eacute;todo <tt>switchDisplayable</tt> onde se l&ecirc; <tt>// escreva aqui o c&oacute;digo da prea&ccedil;&atilde;o</tt>:
<pre class="examplecode">
int row = tableItem.getSelectedCellRow();
int column = tableItem.getSelectedCellColumn();
// Set new value to the table model
simpleTableModel.setValue(column, row, textBox.getString());
// Repaint table model on the screen device
simpleTableModel.fireTableModelChanged();
</pre></li>
<li>Pressione Ctrl+S para salvar as edi&ccedil;&otilde;es.</li>
</ol>
<h3 class="tutorial">Executando o projeto<a name="run"></a></h3>
<p>Pressione F6 para executar o projeto principal. Como alternativa, voc&ecirc; pode selecionar <tt>Executar</tt> &gt; <tt>Executar projeto principal</tt>.</p>
</div>
<p class="align-center"><a href="#top">in&iacute;cio</a></p>
<h2>Javadocs dos componentes tableItem e SimpleTableModel</h2>
<P>O NetBeans IDE oferece Javadocs da API do componente <tt>tableItem</tt> ou <tt>TableItem</tt>, assim como outros componentes que voc&ecirc; pode usar no VMD. Para ler os Javadocs do componente <tt>TableItem</tt> ou <tt>TableModel</tt>, complete as etapas abaixo:</P>
<OL>
<li>Coloque o cursor no componente <tt>TableItem</tt>ou </tt>TableModel<tt> no c&oacute;digo-fonte e pressione Ctr-Shift-Espa&ccedil;o (ou selecione <tt>C&oacute;digo-fonte</tt> &gt; <tt>Exibir documenta&ccedil;&atilde;o</tt>).<br>
O Javadoc deste elemento &eacute; exibido em uma janela pop-up. </li>
<li>Clique em Exibir documenta&ccedil;&atilde;o no &iacute;cone de navegador da Web externo (<img src="../../../images_www/articles/71/mobility/smscomposer/show-doc-button.png" alt="Exibir documenta&ccedil;&atilde;o no navegador da Web externo">) na janela pop-up para obter informa&ccedil;&otilde;es detalhadas sobre o componente <tt>TableItem</tt> ou </tt>TableModel<tt> em seu navegador.</li>
</OL>
<p class="align-center"><a href="#top">in&iacute;cio</a></p>
<div class="feedback-box"><a href="/about/contact_form.html?to=6&subject=VMD%20Custom%20Components:%20Using%20Table%20Items">Envie-nos seus coment&aacute;rios</a> </div><br style="clear:both;" >
<h2><a name="nextsteps"></a>Veja tamb&eacute;m</h2>
<ul>
<li><a href="smscomposer.html">Componentes padr&atilde;o do Visual Mobile Designer: criando um aplicativo SMS Composer</a></li>
<li><a href="filebrowser.html">Componentes personalizados do Visual Mobile Designer: Criando um navegador de arquivos de dispositivos m&oacute;veis</a></li>
<li><a href="pimbrowser.html">Componentes personalizados do Visual Mobile Designer: Criando um aplicativo gerenciador de informa&ccedil;&otilde;es pessoais</a></li>
<li><a href="loginscreen.html">Componentes personalizados do Visual Mobile Designer: Criando telas de logon m&oacute;veis</a></li>
<li><a href="waitscreen.html">Componentes personalizados do Visual Mobile Designer: Criando telas de espera para aplicativos m&oacute;veis</a></li>
<li><a href="splashscreen.html">Componentes padr&atilde;o do Visual Mobile Designer: usando telas de splash em aplicativos Java ME</a></li>
</ul>
<p class="align-center"><a href="#top">in&iacute;cio</a></p>
</body>
</html>