<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns="http://purl.org/rss/1.0/">
  <channel rdf:about="http://www.planetnetbeans.org/pt_br/">
    <title>Planeta NetBeans</title>
    <link>http://www.planetnetbeans.org/pt_br/</link>
    <description>Planeta NetBeans - http://www.planetnetbeans.org/pt_br/</description>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="tag:blogger.com,1999:blog-544668644670311424.post-6935063022547266986" />
        <rdf:li rdf:resource="tag:blogger.com,1999:blog-544668644670311424.post-5857712476832528616" />
        <rdf:li rdf:resource="tag:blogger.com,1999:blog-544668644670311424.post-6621722062697098719" />
        <rdf:li rdf:resource="http://www.jroller.com/hmichel/entry/want_to_develop_some_feature" />
        <rdf:li rdf:resource="http://www.softag.com.br/roller/adourado/entry/netbeans_ide_6_8_milestone" />
        <rdf:li rdf:resource="http://www.softag.com.br/roller/adourado/entry/nova_versao_alpha_do_plugin" />
        <rdf:li rdf:resource="http://www.go-java.com:80/blog/2009/08/03/1249323002207.html" />
        <rdf:li rdf:resource="http://www.softag.com.br/roller/adourado/entry/lancado_netbeans_ide_6_7" />
        <rdf:li rdf:resource="http://www.paulocanedo.com.br/?p=153" />
        <rdf:li rdf:resource="http://www.softag.com.br/roller/adourado/entry/utilizando_o_netbeans_para_desenvolver" />
        <rdf:li rdf:resource="http://www.softag.com.br/roller/adourado/entry/video_introducao_netbeans_6_7" />
        <rdf:li rdf:resource="http://www.softag.com.br/roller/adourado/entry/netbeans_6_7_final_liberado" />
        <rdf:li rdf:resource="http://www.jroller.com/hmichel/entry/netbeans_6_7_fcs_released" />
        <rdf:li rdf:resource="http://www.go-java.com:80/blog/2009/06/29/1246281240000.html" />
        <rdf:li rdf:resource="http://www.jroller.com/hmichel/entry/netbeans_6_7_release_candidate1" />
        <rdf:li rdf:resource="tag:blogger.com,1999:blog-544668644670311424.post-5625929637002105604" />
        <rdf:li rdf:resource="tag:blogger.com,1999:blog-544668644670311424.post-1092719613194854803" />
        <rdf:li rdf:resource="tag:blogger.com,1999:blog-544668644670311424.post-7164900875747733790" />
        <rdf:li rdf:resource="tag:blogger.com,1999:blog-544668644670311424.post-32670099651378240" />
        <rdf:li rdf:resource="http://www.jroller.com/hmichel/entry/help_us_to_make_netbeans" />
        <rdf:li rdf:resource="http://www.jroller.com/hmichel/entry/netbeans_6_7_release_candidate" />
        <rdf:li rdf:resource="http://www.softag.com.br/roller/adourado/entry/netbeans_6_7_rc1_liberado" />
        <rdf:li rdf:resource="http://silveiraneto.net/?p=2581" />
        <rdf:li rdf:resource="http://www.softag.com.br/roller/adourado/entry/netbeans_6_7_beta_liberado" />
        <rdf:li rdf:resource="http://www.softag.com.br/roller/adourado/entry/lancado_nova_versao_do_plugin" />
        <rdf:li rdf:resource="http://www.paulocanedo.com.br/?p=97" />
        <rdf:li rdf:resource="http://www.softag.com.br/roller/adourado/entry/ganhe_ate_25_000_dolares" />
        <rdf:li rdf:resource="tag:blogger.com,1999:blog-544668644670311424.post-3315938033137076055" />
        <rdf:li rdf:resource="tag:blogger.com,1999:blog-544668644670311424.post-1665686851935257119" />
        <rdf:li rdf:resource="http://www.softag.com.br/roller/adourado/entry/lancado_o_rem_2_0" />
        <rdf:li rdf:resource="http://www.softag.com.br/roller/adourado/entry/screencasts_de_exemplos_javafx_no" />
        <rdf:li rdf:resource="http://www.softag.com.br/roller/adourado/entry/liberado_netbeans_ide_6_5" />
        <rdf:li rdf:resource="http://www.go-java.com:80/blog/2009/03/16/1237231020000.html" />
        <rdf:li rdf:resource="http://www.softag.com.br/roller/adourado/entry/a_proxima_versao_do_netbeans" />
        <rdf:li rdf:resource="http://silveiraneto.net/?p=2344" />
        <rdf:li rdf:resource="http://www.softag.com.br/roller/adourado/entry/eleja_o_novo_governador_do" />
        <rdf:li rdf:resource="http://www.softag.com.br/roller/adourado/entry/teste_comparativo_as_melhores_ides" />
        <rdf:li rdf:resource="http://www.softag.com.br/roller/adourado/entry/javafx_sdk_1_1_now" />
        <rdf:li rdf:resource="http://www.softag.com.br/roller/adourado/entry/certificado_sun_certified_specialist_netbeans" />
        <rdf:li rdf:resource="http://www.softag.com.br/roller/adourado/entry/criando_aplicacoes_flex_com_netbeans" />
        <rdf:li rdf:resource="http://www.softag.com.br/roller/adourado/entry/wicket_framework_com_netbeans" />
        <rdf:li rdf:resource="http://www.go-java.com:80/blog/2009/01/30/1233311452712.html" />
        <rdf:li rdf:resource="http://www.softag.com.br/roller/adourado/entry/patch2_for_netbeans_ide_6" />
        <rdf:li rdf:resource="http://www.softag.com.br/roller/adourado/entry/hibernate_com_netbeans" />
        <rdf:li rdf:resource="http://www.softag.com.br/roller/adourado/entry/netbeans_produto_do_ano_2009" />
        <rdf:li rdf:resource="http://silveiraneto.net/?p=2119" />
        <rdf:li rdf:resource="http://www.go-java.com:80/blog/2009/01/07/1231332105004.html" />
        <rdf:li rdf:resource="http://www.softag.com.br/roller/adourado/entry/agora_sou_sun_certified_specialist" />
        <rdf:li rdf:resource="http://www.softag.com.br/roller/adourado/entry/top_10_novos_recursos_do" />
        <rdf:li rdf:resource="http://www.go-java.com:80/blog/2008/12/23/1230028983607.html" />
        <rdf:li rdf:resource="http://silveiraneto.net/?p=1951" />
        <rdf:li rdf:resource="http://silveiraneto.net/?p=1941" />
        <rdf:li rdf:resource="http://www.softag.com.br/roller/adourado/entry/mediaplayer_em_menos_de_5" />
        <rdf:li rdf:resource="http://www.softag.com.br/roller/adourado/entry/liberado_a_primeira_atualizacao_para" />
        <rdf:li rdf:resource="http://www.go-java.com:80/blog/2008/12/10/1228914183565.html" />
        <rdf:li rdf:resource="tag:blogger.com,1999:blog-544668644670311424.post-547706816534971622" />
        <rdf:li rdf:resource="tag:blogger.com,1999:blog-544668644670311424.post-5919452608750576458" />
        <rdf:li rdf:resource="tag:blogger.com,1999:blog-544668644670311424.post-2674734991822921932" />
        <rdf:li rdf:resource="http://www.softag.com.br/roller/adourado/entry/04_12_2008_o_dia" />
        <rdf:li rdf:resource="http://www.jroller.com/hmichel/entry/how_to_solve_netbeans_and" />
      </rdf:Seq>
    </items>
  </channel>
  <item rdf:about="tag:blogger.com,1999:blog-544668644670311424.post-6935063022547266986">
    <title>NetFeijão Brazil: Consumindo e Testando Clientes REST</title>
    <link>http://netfeijao.blogspot.com/2009/12/consumindo-e-testando-clientes-rest.html</link>
    <content:encoded>&lt;div style="margin-left: 1em; margin-right: 1em; text-align: center;" class="separator"&gt;&lt;br /&gt;&lt;/div&gt;&lt;span id="goog_1262090748801"&gt;&lt;/span&gt;&lt;span id="goog_1262090748802"&gt;&lt;/span&gt;&lt;br /&gt;A especificação &lt;a href="http://jcp.org/en/jsr/detail?id=311" target="_blank"&gt;JAX-RS &lt;/a&gt;é uma ótima opção para criar web services &lt;a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/top.htm" target="_blank"&gt;REST&lt;/a&gt; e fornece
    meios de desenvolver componentes server-side, mas não descreve como os desenvolvedores devem desenvolver seus componentes client-side em Java, e essa já é uma das promessas para a próxima release do JAX-RS.&lt;br /&gt;&lt;br /&gt;Pelo fato de nossos serviços RESTful serem URIs e a forma de acesso a estes serviços serem os próprios métodos HTTP, podemos trabalhar diretamente com requisições HTTP ou utilizar bibliotecas para facilitar este trabalho. Felizmente é relativamente fácil trabalhar diretamente
    com requests e responses HTTP, e as linguagens mais populares de programação possuem métodos/bibliotecas HTTP, como por exemplo, urllib2 e httplib em Python, libcurl em PHP, HTTPWebRequest em C#, open-uri em Ruby, e o pacote java.net.* e o projeto HttpClient da Apache para Java, entre outros. Mas para qualquer linguagem que seja feito a requisição ao serviço RESTful, temos que passar por alguns passos, conforme segue:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Montar os dados que irão trafegar pelo requisição
    HTTP, como a URI, HTTP header (se houver), e o método HTTP desejado.&lt;/li&gt;&lt;li&gt;Formatar estes dados como uma requisição HTTP, e enviá-lo para um servidor HTTP apropriado.&lt;/li&gt;&lt;li&gt;Efetuar o parsing dos dados retornados (XML, JSON, etc..) para as estruturas de dados que o seu programa precisa.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Para facilitar a pesquisa, montamos um pequeno guia, para os desenvolvedores e estudiosos que querem aprender um pouco mais sobre REST, onde iremos apresentar
    algumas bibliotecas para teste e consumo de serviços RESTful.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;cURL&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Se o intuito for apenas testar os serviços REST desenvolvidos e validar o retorno, o mais simples é utilizar ferramentas existentes na web como é o caso da biblioteca cURL, que é uma ferramenta de transferência de arquivos entre cliente-servidor desenvolvida em C, e suporta protocolos como HTTP, HTTPS, FTP, FTPS,
    etc.&lt;br /&gt;&#160;A &lt;b&gt;listagem 1&lt;/b&gt; apresenta alguns exemplos de como fazer uma requisição GET e POST com uso da biblioteca cURL, como podemos ver, ela não possui uma interface gráfica, sendo uma ferramenta de linha de comando.&lt;br /&gt;&#160;Fazendo uma requisição (GET), passando como parâmetro de headerv tipo de conteúdo &lt;b&gt;json&lt;/b&gt;, (&lt;i&gt;-H "Accept:application/json"&lt;/i&gt;) &lt;br /&gt;&lt;div style="clear: both; text-align: center;" class="separator"&gt;&lt;a
    style="margin-left: 1em; margin-right: 1em;" href="http://1.bp.blogspot.com/_6CJaDmsVepU/SwIBAFg4uDI/AAAAAAAAApk/Z4RWDxBqc54/s1600/rest01.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_6CJaDmsVepU/SwIBAFg4uDI/AAAAAAAAApk/Z4RWDxBqc54/s400/rest01.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;span&gt;// Fazendo uma requisição POST, passando como&#160; query parameter name = JumboComLtda&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span&gt;&lt;span
    style="font-family: Verdana,sans-serif;"&gt;$ curl -d name=JumboComLtda http://localhost:8080/Contatos/resources/customers/2/cliente/&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;// Excluindo um registro com DELETE, pelo parâmetro –X&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;$ curl -v –X DELETE http://localhost:8080/Contatos/resources/customers/99/&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:
    x-small;"&gt;&lt;br /&gt;&lt;b&gt;&lt;span&gt;Registro excluído com sucesso !&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;b&gt;Listagem 1: Uso da biblioteca cURL.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;b&gt;&#160; &lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;Referências:&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;cURL&lt;/b&gt; - Site Oficial &lt;a href="http://curl.haxx.se/"
    target="_blank"&gt;http://curl.haxx.se/&lt;/a&gt; &lt;/li&gt;&lt;li&gt;Artigo &lt;a href="http://download.indiwiz.com.s3.amazonaws.com/article/RESTClient.pdf" target="_blank" rel="nofollow"&gt;Testing RESTful WebServices Made Easy&lt;/a&gt; (em inglês), publicado na revista Linux 4You em Maio de 2009.&lt;/li&gt;&lt;li&gt;&lt;a href="http://code.google.com/p/rest-client/wiki/Cookbook" target="_blank"&gt;RESTClient Cookbook&lt;/a&gt;, vários receitas e demonstrações de como extender o
    RESTClient.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;RESTClient&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&#160;&lt;a href="http://code.google.com/p/rest-client/" target="_blank"&gt;RESTClient&lt;/a&gt; é uma aplicação Java própria para auxiliar nos testes de serviços RESTful, complementar a isto, ela pode ser utilizada para testar Web Services POX (Plain Old XML) sobre HTTP. Para utilizar, basta efetuar o &lt;a
    href="http://code.google.com/p/rest-client/downloads/list" target="_blank"&gt;download&lt;/a&gt; do arquivo jar (com dependências) da ultima versão, no momento que escrevo este artigo, a versão mais recente é a versão 2.3, e vem com duas opções.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;RESTClient 2.3 GUI:&lt;/b&gt; &lt;a href="http://rest-client.googlecode.com/files/restclient-ui-2.3-jar-with-dependencies.jar"
    target="_blank"&gt;restclient-ui-2.3-jar-with-dependencies.jar&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;RESTClient 2.3 Command-line:&lt;/b&gt; &lt;a href="http://rest-client.googlecode.com/files/restclient-cli-2.3-jar-with-dependencies.jar" target="_blank"&gt;restclient-cli-2.3-jar-with-dependencies.jar&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;A versão GUI, é uma aplicação Swing com diversas opções, e bem conhecida de quem trabalha com o RESTClient desde suas primeiras versões, e a outra
    versão "cli" é para execução batch de arquivos .rcq. Para começar utilizar a versão em Swing, basta digitar o seguinte comando (A aplicação requer Java 6 para rodar):&lt;br /&gt;&lt;div&gt;&lt;b&gt;$java -jar restclient-ui-2.3-jar-with-dependencies.jar&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&#160; &lt;br /&gt;Após executar a aplicação, deverá ser apresentado a tela conforme ilustra a &lt;b&gt;Figura 1&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div style="clear: both; text-align: center;"
    class="separator"&gt;&lt;a style="margin-left: 1em; margin-right: 1em;" href="http://4.bp.blogspot.com/_6CJaDmsVepU/SzoGEGVXqwI/AAAAAAAAArg/CFNY_xCf6As/s1600-h/Restclientjpg.jpg" target="_blank"&gt;&lt;img src="http://4.bp.blogspot.com/_6CJaDmsVepU/SzoGEGVXqwI/AAAAAAAAArg/CFNY_xCf6As/s320/Restclientjpg.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;b&gt;Figura 01 - Interface Swing do
    RESTClient.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Pela aparência da interface gráfica, podemos deduzir facilmente o modo de utiliza-lá, basta digitar no campo URL o caminho desejado, selecionar algum método HTTP na aba Method, e executar a consulta clicando no botão [&gt;&gt;]. O resultado será apresentando no bloco HTTP Response.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Funcionalidades &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&#160;Com
    RESTClient, podemos fazer qualquer tipo de requisição HTTP (GET, PUT, POST, DELETE, HEAD, OPTIONS, TRACE), ainda existe o suporte a SSL e a possibilidade de adicionar parâmetros de Header adicionais.&lt;br /&gt;É possível salvar as requests, responses, e o Response Body (atráves do menu &lt;i&gt;File&lt;/i&gt; &gt; &lt;i&gt;Save Request&lt;/i&gt;, ou &lt;i&gt;Save Response&lt;/i&gt;, &lt;i&gt;Save Response Body&lt;/i&gt;), o que é útil para testes de regressão, que podemos utiliza-los posteriormente na
    versão de linha de comando.&lt;br /&gt;RESTClient ainda vem com o Conteiner Jetty embutido, que possui um Servlet que imprime os detalhes das requisições submetidas a ele. Para iniciar o servidor basta acessar o menu &lt;i&gt;Tools&lt;/i&gt; &gt; Opção &lt;i&gt;Start Trace Server&lt;/i&gt; (subirá na porta 10101).&lt;br /&gt;&lt;br /&gt;E por fim, uma das funcionalidades mais interessantes é o seu suporte integrado para testes, que podem inclusive ser escritos em Groovy, o suporte a testes é baseado no
    JUnit 3.x e os tests são atachados a cada requisição. Para iniciar os testes, na aba "&lt;i&gt;Test Script&lt;/i&gt;", clique o no botão &lt;i&gt;Insert Template&lt;/i&gt;, RESTClient irá criar o código para você, conforme mostra a &lt;b&gt;Listagem 02&lt;/b&gt;:&lt;br /&gt;&lt;pre name="code" class="java"&gt;// The test class name should end with `Test'--this is a convention:&lt;br /&gt;public class TemplateClassTest &lt;br /&gt;&#160;&#160;&#160; extends org.wiztools.restclient.RESTTestCase{&lt;br
    /&gt;&lt;br /&gt;&#160; // Test method names should start with `test':&lt;br /&gt;&#160; public void testStatus(){&lt;br /&gt;&#160;&#160;&#160; if(response.getStatusCode() != 200){&lt;br /&gt;&#160;&#160;&#160;&#160;&#160; fail("This will fail the test!");&lt;br /&gt;&#160;&#160;&#160; }&lt;br /&gt;&#160; }&lt;br /&gt;}&lt;/pre&gt;&lt;span style="font-size: x-small;"&gt;&lt;b&gt;Listagem 2: Template de Test gerado pelo RESTClient.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A partir da versão 2.3,
    RESTClient possui uma versão em linha de comando, está versão é utilizada para executar requisições de forma batch e armazenar o resultado dos testes.&#160; Para executar está versão, basta na linha de comando executar:&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;b&gt;$java -jar restclient-cli-2.3-jar-with-dependencies.jar -o /temp/diretorioResponse *.rcq&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Esse comando, irá executar todos as requisições contidas nos arquivos de extensão (.rcq) no diretório de
    execução atual, e irá salvar as responses (na extensão .rcs) no diretório /temp/diretorioResponse. E por fim, o RESTClient, imprime um resumo da execução dos testes.&#160; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Referências:&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Artigo RESTFul Web Services e a API JAX-RS na revista Mundo Java edição 35&lt;/li&gt;&lt;li&gt;Artigo &lt;a href="http://download.indiwiz.com.s3.amazonaws.com/article/RESTClient.pdf" target="_blank" rel="nofollow"&gt;Testing RESTful
    WebServices Made Easy&lt;/a&gt; (em inglês), publicado na revista Linux 4You em Maio de 2009.&lt;/li&gt;&lt;li&gt;&lt;a href="http://code.google.com/p/rest-client/wiki/Cookbook" target="_blank"&gt;RESTClient Cookbook&lt;/a&gt;, vários receitas e demonstrações de como extender o RESTClient.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Testando Web Services RESTful no NetBeans.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&#160;Para quem é usuário do NetBeans, uma
    outra opção para testar Web Services RESTful é utilizar o suporte do próprio IDE, com um projeto Web criado e os serviços RESTful devidamente configurados, é possível testá-los clicando com o botão direito do mouse em cima do projeto e selecionar a opção “Test RESTful Web Services” (&lt;b&gt;Figura 02&lt;/b&gt;), lembrando que está opção só estará disponível, se o projeto WEB possuir serviços WEB.&lt;br /&gt;&lt;br /&gt;&lt;div style="clear: both; text-align: center;" class="separator"&gt;&lt;a
    style="margin-left: 1em; margin-right: 1em;" href="http://3.bp.blogspot.com/_6CJaDmsVepU/SzoXM63X-II/AAAAAAAAAro/xAJem7mAxac/s1600-h/netbeans-rest.jpg" target="_blank"&gt;&lt;img src="http://3.bp.blogspot.com/_6CJaDmsVepU/SzoXM63X-II/AAAAAAAAAro/xAJem7mAxac/s320/netbeans-rest.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;b&gt;Figura 02 -Suporte a REST no NetBeans.&lt;/b&gt;&lt;/span&gt;&lt;br
    /&gt;&lt;/div&gt;&lt;br /&gt;Ao selecionar esta opção, será feito o build e o deploy da aplicação web, e ao final do processo será disponibilizado uma página de testes web, como mostra a &lt;b&gt;Figura 03&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div style="clear: both; text-align: center;" class="separator"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="clear: both; text-align: center;" class="separator"&gt;&lt;a style="margin-left: 1em; margin-right: 1em;"
    href="http://1.bp.blogspot.com/_6CJaDmsVepU/SzoYOknGpkI/AAAAAAAAAr4/7nNLixZJgQM/s1600-h/netbeans-rest2.jpg" target="_blank"&gt;&lt;img src="http://1.bp.blogspot.com/_6CJaDmsVepU/SzoYOknGpkI/AAAAAAAAAr4/7nNLixZJgQM/s320/netbeans-rest2.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Figura 03 - Tela de testes de Web Services RESTful&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Na página apresentada
    é possível testar todos os serviços disponíveis, criar novos parâmetros para a requisição (botão “Add Parameter”), e também é possível selecionar o tipo de método HTTP para teste e o tipo MIME de retorno.&lt;br /&gt;&lt;br /&gt;Para iniciar o teste, basta clicar no botão “Test”, após a execução, dentro da seção Response, podemos analisar os dados de retorno, os dados do cabeçalho e o status da chamada.&lt;br /&gt;&lt;br /&gt;Além disso, de acordo com os serviços criados, o NetBeans ainda gera o arquivo
    WADL, visível no canto superior esquerdo da &lt;b&gt;Figura 03&lt;/b&gt;.&lt;br /&gt;&#160; &lt;br /&gt;&lt;b&gt;Referências:&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;NetBeans - Site Oficial: &lt;a href="http://netbeans.org/" target="_blank"&gt;http://netbeans.org/&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://docs.sun.com/app/docs/doc/820-7627/giqaa?a=view" target="_blank"&gt;Creating a RESTFul Web Service Using NetBeans&lt;/a&gt; - Tutorial do site da Sun.&lt;/li&gt;&lt;/ul&gt;&lt;br
    /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;JAXB&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;JAXB (Java Architecture for XML Binding) fornece a API, as ferramentas e um framework que automatiza o mapeamento entre documentos XML e objetos Java. Ou seja, fornece compiladores que compilam Schemas XML para objetos Java. Em tempo de execução podemos deserializar (unmarshal) o conteúdo de um arquivo XML para representações Java. &lt;br /&gt;&lt;br /&gt;Além disso, podemos acessar, alterar e validar
    a representação Java contra regras de um Schema e por fim, podemos serializar (marshal) o conteúdo de um objeto Java em conteúdo XML. Veja sua arquitetura na &lt;b&gt;Figura 04&lt;/b&gt;:&lt;br /&gt;&lt;br /&gt;&lt;div style="clear: both; text-align: center;" class="separator"&gt;&lt;a style="margin-left: 1em; margin-right: 1em;" href="http://1.bp.blogspot.com/_6CJaDmsVepU/SzoZqBWIB8I/AAAAAAAAAsA/868L9PSdjZI/s1600-h/jaxb-overview.gif" target="_blank"&gt;&lt;img
    src="http://1.bp.blogspot.com/_6CJaDmsVepU/SzoZqBWIB8I/AAAAAAAAAsA/868L9PSdjZI/s320/jaxb-overview.gif" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;b&gt;Figura 04 - Overview do JAXB.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Esta fora deste artigo um estudo mais aprofundado sobre o JAXB, mas apenas para conhecimento, a API JAXB acabou se tornando a forma padrão de mapeamento
    entre Java e XML, com JAXB temos anotações que nos permitem criar uma representação em Java de um Schema XML, estas anotações estão presentes no pacote javax.xml.bind.annotations, e possuem anotações associadas a pacotes Java (@XmlSchema, @XmlSchemaType, etc..), a classes Java (@XmlType, @XmlRootElement), a propriedades e campos (@XmlElement, @XmlAttribute), entre outras anotaçõe.&lt;br /&gt;&lt;br /&gt;Para exemplificar, considere o exemplo da &lt;b&gt;listagem 3&lt;/b&gt;, esta é uma classe POJO
    representando uma pessoa, com anotações JAXB.&#160; Ao fazer um marshalling de uma instância da classe PessoaBinding para XML, teremos o resultado apresentado na &lt;b&gt;listagem 04&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="java"&gt;@XmlRootElement(name="pessoa")&lt;br /&gt;@XmlType(name="", propOrder={"nome","idade","statusCivil"})&lt;br /&gt;public class PessoaBinding {&lt;br /&gt;/* Construtores e Setters omitidos */&lt;br /&gt;&#160;&#160;&#160; private String nome;&lt;br
    /&gt;&#160;&#160;&#160; private int idade;&lt;br /&gt;&#160;&#160;&#160; private String statusCivil;&lt;br /&gt;&#160;&#160;&#160; private String cpf;&lt;br /&gt;&lt;br /&gt;&#160;&#160;&#160; @XmlElement&lt;br /&gt;&#160;&#160;&#160; public String getNome() {&lt;br /&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160; return nome;&lt;br /&gt;&#160;&#160;&#160; }&lt;br /&gt;&#160;&#160;&#160; @XmlElement&lt;br /&gt;&#160;&#160;&#160; public int getIdade() {&lt;br
    /&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160; return idade;&lt;br /&gt;&#160;&#160;&#160; }&lt;br /&gt;&#160;&#160;&#160; @XmlAttribute(name="num_cpf")&lt;br /&gt;&#160;&#160;&#160; public String getCpf() {&lt;br /&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160; return cpf;&lt;br /&gt;&#160;&#160;&#160; }&lt;br /&gt;&#160;&#160;&#160; @XmlElement&lt;br /&gt;&#160;&#160;&#160; public String getStatusCivil() {&lt;br /&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160; return statusCivil;&lt;br
    /&gt;&#160;&#160;&#160; }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;span style="font-size: x-small;"&gt;&lt;b&gt;Listagem 03 - Classe PessoaBinding com anotações JAXB.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="xml"&gt;&#160;&#160; &lt;br /&gt;&#160;&#160;&#160;&#160;&#160;&#160; Wagner&lt;br /&gt;&#160;&#160;&#160;&#160;&#160;&#160; 29&lt;br /&gt;&#160;&#160;&#160;&#160;&#160;&#160; Casado&lt;br /&gt;&#160;&#160; &lt;br /&gt;&lt;/pre&gt;&lt;span style="font-size:
    x-small;"&gt;&lt;b&gt;Listagem 04 - XML Gerado após marshalling de classe JAXB PessoaBinding.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A especificação do JAX-RS fornece alguns Entity Providers padrões, entre eles, provedores para JAXB, para quando o tipo de conteúdo trafegado for do tipo xml (application/xml, text/xml e application/*+xml), de modo que o programador não precisa criar código para converter um objeto Java em código XML e vice versa, facilitando muito nossa vida.&lt;br /&gt;&lt;br
    /&gt;&lt;br /&gt;Ainda na classe PessoaBinding da&#160; &lt;b&gt;listagem 03&lt;/b&gt;, poderíamos então, no nosso exemplo, criar um serviço RESTful cujo retorno seja a classe JAXB PessoaBinding , neste caso a declaração do serviço seria similar ao método da &lt;b&gt;listagem 05&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="java"&gt;&#160;&#160;&#160; @GET&lt;br /&gt;&#160;&#160;&#160; @Produces("application/xml")&lt;br /&gt;&#160;&#160;&#160; @Path("/NetFeijao/autor/{idPessoa}/")&lt;br
    /&gt;&#160;&#160;&#160; public PessoaBinding getPessoa(@PathParam("idPessoa") Integer id) {&lt;br /&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; return dao.getPessoaAsBinding(id); // Retorna uma entidade Pessoa como PessoaBinding&lt;br /&gt;&#160;&#160;&#160; }&#160;&lt;/pre&gt;&lt;span style="font-size: x-small;"&gt;&lt;b&gt;Listagem 05 - Serviço RESTful cujo retorno é uma classe JAXB.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ao fazermos o consumo deste serviço RESTful, vamos perceber que
    a conversão é feita automaticamente pelo entity provider padrão para XML (veja o teste na &lt;b&gt;Figura 05&lt;/b&gt;, utilizando a ferramenta &lt;i&gt;RESTClient&lt;/i&gt;). De maneira inversa poderíamos criar um serviço RESTful para receber requisições PUT e receber como parâmetro de entrada do método a classe PessoaBinding via HTTP Body.&#160; Conforme apresenta a &lt;b&gt;listagem 06&lt;/b&gt;:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="clear: both; text-align:
    center;" class="separator"&gt;&lt;a style="margin-left: 1em; margin-right: 1em;" href="http://4.bp.blogspot.com/_6CJaDmsVepU/Szob9PlrbOI/AAAAAAAAAsI/CW4cAeuEnUs/s1600-h/Restclient1.jpg" target="_blank"&gt;&lt;img src="http://4.bp.blogspot.com/_6CJaDmsVepU/Szob9PlrbOI/AAAAAAAAAsI/CW4cAeuEnUs/s320/Restclient1.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt; &lt;span style="font-size: x-small;"&gt;&lt;b&gt;Figura 05 - Retorno do serviço RESTful cujo retorno é
    uma classe JAXB.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;pre name="code" class="java"&gt;&#160;&#160;&#160; @PUT&lt;br /&gt;&#160;&#160;&#160; @Consumes("application/xml")&lt;br /&gt;&#160;&#160;&#160; @Path("/NetFeijao/")&lt;br /&gt;&#160;&#160;&#160; public void putPessoa(PessoaBinding pessoa) {&lt;br /&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160; // Operação de update&lt;br /&gt;&#160;&#160;&#160; }&#160;&lt;/pre&gt;&lt;span style="font-size: x-small;"&gt;&lt;b&gt;Listagem 06
    - Convertendo código XML para objeto JAXB em chamada PUT com REST.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Referências:&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://java.sun.com/developer/technicalArticles/WebServices/jaxb/" target="_blank"&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Site Oficial no java.net. - &lt;a href="https://jaxb.dev.java.net/" target="_blank"&gt;https://jaxb.dev.java.net/&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a
    href="http://java.sun.com/developer/technicalArticles/WebServices/jaxb/" target="_blank"&gt;Java Architectura for XML Binding&lt;/a&gt; - Tutorial do site da Sun.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;JAKARTA COMMONS - HTTP CLIENT&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;HttpClient é um subprojeto open source da Jakarta Commons que se tornou independente em 2007, e que foi concebido para
    facilitar o desenvolvimento de aplicações que utilizam o protocolo HTTP. &lt;br /&gt;&#160;Ele é um projeto escrito totalmente em Java, e implementa todos os métodos HTTP (GET, POST, PUT, DELETE, HEAD, OPTIONS e TRACE).&lt;br /&gt;&lt;br /&gt;Possui suporte ao protocolo HTTPS, suporte ao gerenciamento de conexões para uso em aplicações multi-thread, suporte a cookie, possui mecanismos de autenticação Basic, Digest e criptografia NTLM.&lt;br /&gt;&lt;br /&gt;&#160;Na &lt;b&gt;listagem 07&lt;/b&gt;,
    demonstramos o uso da biblioteca HttpClient, onde consumimos dois serviços RESTful, um com uma chamada GET e outra com uma chamada PUT.&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="java"&gt;&#160;&#160;&#160;&#160; public void testHTTPClient() {&lt;br /&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160; try {&lt;br /&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; HttpClient client = new HttpClient(new MultiThreadedHttpConnectionManager());&lt;br
    /&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; client.getHttpConnectionManager().getParams().setConnectionTimeout(30000);&lt;br /&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; final String CONTENT_TYPE = "application/xml";&lt;br /&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; final String CHARSET = "UTF8";&lt;br /&gt;&lt;br /&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; /* Executando chamada com método HTTP GET
    */&lt;br /&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160; String getURI = "http://localhost:8080/ProjetoREST/NetFeijao/autores/Wagner/?idade=29";&lt;br /&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160; GetMethod get = new GetMethod(getURI);&lt;br /&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Header meuHeader = new Header("CPF","123456789");&lt;br /&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160; get.setRequestHeader(meuHeader);&lt;br /&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160; int statusCodeGET =
    client.executeMethod(get);&lt;br /&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160; String responseBody = get.getResponseBodyAsString();&lt;br /&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160; System.out.println("Chamada GET");&lt;br /&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160; System.out.println(" Status Code: "+statusCodeGET+" \nResponse Body:\n"+responseBody);&lt;br /&gt;&lt;br /&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; /* Executando chamada com método HTTP PUT */&lt;br
    /&gt;&#160;&#160;&#160;&#160;&#160;&#160; String putURI = "http://localhost:8080/ProjetoREST/NetFeijao/autores/update/";&lt;br /&gt;&#160;&#160;&#160;&#160;&#160;&#160; PutMethod put = new PutMethod(putURI);&lt;br /&gt;&#160;&#160;&#160; StringRequestEntity requestEntity = new StringRequestEntity(responseBody, CONTENT_TYPE, CHARSET);&lt;br /&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160; put.setRequestEntity(requestEntity);&lt;br /&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160; int statusCodePUT =
    client.executeMethod(put);&lt;br /&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160; responseBody = put.getResponseBodyAsString();&lt;br /&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160; System.out.println("Chamada PUT");&lt;br /&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160; System.out.println(" Status Code: "+statusCodePUT+" \nResponse Body:\n"+responseBody);&lt;br /&gt;&#160;&#160;&#160; } catch (Exception ex) {/* OMITIDO */}&lt;br /&gt;}&lt;/pre&gt;Retorno da chamada ao método.&lt;br /&gt;Chamada
    GET&lt;br /&gt;&#160;Status Code: 200 &lt;br /&gt;Response Body:&lt;br /&gt;&lt;br /&gt;&#160;&#160; &lt;br /&gt;&#160;&#160;&#160;&#160;&#160;&#160; Wagner&lt;br /&gt;&#160;&#160;&#160;&#160;&#160;&#160; 29&lt;br /&gt;&#160;&#160;&#160;&#160;&#160;&#160; Casado&lt;br /&gt;&#160;&#160; &lt;br /&gt;&lt;br /&gt;Chamada PUT&lt;br /&gt;&#160;Status Code: 202 &lt;br /&gt;Response Body:&lt;br /&gt;&lt;h1 style="font-weight: normal;"&gt;&lt;span style="font-size: small;"&gt;Bem vindo
    Wagner&lt;/span&gt;&lt;/h1&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;b&gt;Listagem 07: Consumindo serviços REST via GET e PUT com HTTPClient.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Primeiro, na linha 3 instanciamos a classe HttpClient que é o nosso agente HTTP que irá conter os atributos de persistência com cookies, e credenciais de autenticação através da classe HttpState. E também onde será armazenado uma ou mais conexões HTTP, cujo qual faremos chamadas aos métodos
    HTTP.&lt;br /&gt;&lt;br /&gt;Na linha 4 atribuímos um timeout para a conexão de 30 segundos. Depois nas linhas 5, 6 e 9 declaramos as variáveis quer irão determinar o tipo de conteúdo, o character set e a URI de acesso ao serviço REST.&lt;br /&gt;&lt;br /&gt;Na linha 10, instanciamos a classe GetMethod, que como o próprio nome indica representa o método GET, passando como parâmetro a URL do nosso serviço RESTful (getURI). Na linha 11 criamos um objeto Header, passando como parâmetro no construtor a
    chave e o valor que representam o parâmetro e o valor do cabeçalho, no nosso exemplo, passamos um número fictício de CPF. Na linha 12 atribuímos o objeto header para o objeto GetMethod.&lt;br /&gt;&lt;br /&gt;&#160;Na linha 13, fazemos a chamada ao serviço RESTful via HTTP GET, e armazenamos o código de status do retorno na variável statusCodeGET, na linha 14 extraímos os dados da Response como String para a variável responseBody. Pelo fato do retorno ser em XML, poderíamos facilmente utilizar JAXB
    para trabalhar o retorno como um objeto Java. Finalmente nas linhas 15 e 16 imprimimos no console o retorno da chamada a estes métodos.&lt;br /&gt;&lt;br /&gt;A partir da linha 18, iniciamos o mesmo processo, mas agora para efetuar uma chamada via método PUT, as únicas diferenças, são o uso do método PutMethod, que implementa o método HTTP PUT e o uso da classe StringRequestEntity na linha&#160; 21,&#160; com esta classe atribuímos uma entidade como String ao método PUT que será enviado junto a
    requisição.&lt;br /&gt;&lt;br /&gt;Nas linhas 25 e 26 imprimimos o retorno da requisição PUT.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;JavaScript:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size: large;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="clear: both; text-align: center;" class="separator"&gt;&lt;a style="margin-left: 1em; margin-right: 1em;"
    href="http://www.blogger.com/post-edit.g?blogID=544668644670311424&amp;amp;postID=6935063022547266986"&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="clear: both; text-align: center;" class="separator"&gt;&lt;a style="margin-left: 1em; margin-right: 1em;" href="http://www.blogger.com/post-edit.g?blogID=544668644670311424&amp;amp;postID=6935063022547266986"&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a style="clear: left; float: left;
    margin-bottom: 1em; margin-right: 1em;" href="http://2.bp.blogspot.com/_6CJaDmsVepU/SzoeLAm1ApI/AAAAAAAAAsQ/jw4WdUuSCvo/s1600/ajax.jpg" target="_blank"&gt;&lt;img src="http://2.bp.blogspot.com/_6CJaDmsVepU/SzoeLAm1ApI/AAAAAAAAAsQ/jw4WdUuSCvo/s200/ajax.jpg" border="0" /&gt;&lt;/a&gt; Graças ao objeto XMLHttpRequest conseguimos nos comunicar com servidores de forma assíncrona,&#160;&#160; desde então temos todas as vantagens do AJAX ao nosso dispor.&#160; Para quem desenvolve interfaces WEB, este recurso
    resolveu grandes problemas no lado do cliente, mas vale lembrar que JavaScript não é Java, não possui threads, nem tipos, e possui uma grande gama de frameworks Ajax, como por exemplo Prototype, JQuery, Dojo, Script.aculo.us, Ext-JS, entre outros.&lt;br /&gt;&lt;br /&gt;&#160;Na &lt;b&gt;listagem 08&lt;/b&gt;, temos um exemplo de uma função em JavaScript&#160; que consume um serviço RESTful cujo retorno é um XML.&lt;br /&gt;&lt;div style="clear: both; text-align: center;" class="separator"&gt;&lt;a
    style="margin-left: 1em; margin-right: 1em;" href="http://www.blogger.com/post-edit.g?blogID=544668644670311424&amp;amp;postID=6935063022547266986"&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="clear: both; text-align: center;" class="separator"&gt;&lt;a style="margin-left: 1em; margin-right: 1em;" href="http://www.blogger.com/post-edit.g?blogID=544668644670311424&amp;amp;postID=6935063022547266986"&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="clear: both; text-align: center;"
    class="separator"&gt;&lt;a style="margin-left: 1em; margin-right: 1em;" href="http://www.blogger.com/post-edit.g?blogID=544668644670311424&amp;amp;postID=6935063022547266986"&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="clear: both; text-align: center;" class="separator"&gt;&lt;a style="margin-left: 1em; margin-right: 1em;" href="http://www.blogger.com/post-edit.g?blogID=544668644670311424&amp;amp;postID=6935063022547266986"&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre name="code"
    class="js"&gt;var xmlHttp;&lt;br /&gt;function showCustomer(str){ &lt;br /&gt;&#160;&#160;&#160; xmlHttp=GetXmlHttpObject(); // omitido código do método0&lt;br /&gt;&#160;&#160;&#160; if (xmlHttp==null) {&lt;br /&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160; alert ("Your browser does not support AJAX!");&lt;br /&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160; return;&lt;br /&gt;&#160;&#160;&#160; }&lt;br /&gt;&#160;&#160;&#160; var url='http://localhost:8080/Contatos/resources/customers/58/';&lt;br
    /&gt;&#160;&#160;&#160; xmlHttp.onreadystatechange=stateChanged;&lt;br /&gt;&#160;&#160;&#160; xmlHttp.open('GET',url,true);&lt;br /&gt;&#160;&#160;&#160; xmlHttp.send(null);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function stateChanged() { &lt;br /&gt;&#160;&#160;&#160; if (xmlHttp.readyState==4){&lt;br /&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160; var xmlDoc=xmlHttp.responseXML.documentElement;&lt;br /&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160; document.getElementById("nome").innerHTML= &lt;br
    /&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160; xmlDoc.getElementsByTagName("name")[0].childNodes[0].nodeValue;&lt;br /&gt;&#160;&#160;&#160; }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;span style="font-size: x-small;"&gt;&lt;b&gt;Listagem 08 - Consumindo um serviço RESTful (retorno XML) com Ajax.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Na &lt;b&gt;listagem 08&lt;/b&gt;, vimos um exemplo de um serviço que retorna XML, mas uma das grandes vantagens dos serviços REST, é que podemos trabalhar com
    diversos formatos para troca de informação de um mesmo recurso. Entre eles JSON.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;jQuery&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="clear: both; text-align: center;" class="separator"&gt;&lt;a style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;" href="http://2.bp.blogspot.com/_6CJaDmsVepU/SzofaGdZdqI/AAAAAAAAAsY/4f025I79JXE/s1600-h/jquery-logo.thumbnail.gif"
    target="_blank"&gt;&lt;img src="http://2.bp.blogspot.com/_6CJaDmsVepU/SzofaGdZdqI/AAAAAAAAAsY/4f025I79JXE/s320/jquery-logo.thumbnail.gif" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;JQuery é uma biblioteca JavaScript que vem chamando atenção por conta de sua facilidade de desenvolvimento, ela simplifica muito a manipulação dos elementos de um documento
    HTML, o tratamento de eventos e as interações Ajax para prover um desenvolvimento rápido de aplicações web, livrando o desenvolvedor de preocupações relacionadas a compatibilidade de navegadores e aderência a CSS.&lt;br /&gt;&lt;br /&gt;A biblioteca jQuery fornece algumas funções para tratamento de requisições Ajax, ideais para o consumo de serviços REST, que reduzem muito a complexidade e a quantidade de linhas necessárias para consumir um serviço REST.&#160; Com a função $.ajax() do jQuery,
    conseguimos um alto nível de controle nas requisições ajax. &lt;br /&gt;&lt;br /&gt;A sintaxe do comando é $.ajax(options), onde o parâmetro options são as propriedades que passamos para controlar como a requisição é feita e retorno da chamada.&lt;br /&gt;Na &lt;b&gt;listagem 09&lt;/b&gt;, demonstramos o uso das funções $.ajax().&lt;br /&gt;&lt;pre name="code" class="js"&gt;$.ajax({&lt;br /&gt;&#160;&#160;&#160; type: ‘DELETE’,&lt;br /&gt;&#160;&#160;&#160; url:
    "http://localhost:8080/ProjetREST/NetFeijao/autores/"+idAutor+"/",&lt;br /&gt;&#160;&#160;&#160; success: function(msg){&lt;br /&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $("#alert").html(msg);&lt;br /&gt;&#160;&#160;&#160; }&lt;br /&gt;});&lt;br /&gt;&lt;/pre&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;Listagem 09 - Consumindo um serviço REST com a função $.ajax(). &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Na &lt;b&gt;listagem 09&lt;/b&gt;, usamos dois parâmetros na função $.ajax(), o
    parâmetro type para indicar o método HTTP que queremos executar e a url de chamada. &lt;br /&gt;&lt;br /&gt;Para tratar tipos de retorno JSON, o jQuery oferece a função $.getJSON(), utilizada para carregar dados JSON mediante uma requisição HTTP GET.&lt;br /&gt;&lt;br /&gt;Na &lt;b&gt;listagem 10&lt;/b&gt; mostramos um exemplo de uso da função $.getJSON() em um serviço REST do Flickr, nós fazemos uma chamada ao serviço REST e passamos o retorno da chamada ao método de callback. Dentro da função de
    callback criamos a tag passando como valor o endereço da foto retornada pelo serviço REST e a incluímos na div #foto. Note que a variável data, é um map chave-valor dos dados retornados pela função REST.&lt;br /&gt;&lt;pre name="code" class="js"&gt;$.getJSON("http://api.flickr.com/services/rest/?method=flickr.photosets.getPhotos&amp;amp; photoset_id=72157614488723406&amp;amp;format=json&amp;amp;jsoncallback=?",&lt;br /&gt;function(data){&lt;br /&gt;&#160;&#160;&#160; $.each(data.photoset.photo,
    function(i,item){&lt;br /&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160; if (item.title == foto){&lt;br /&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $("").attr("src", "http://farm"+item.farm+".static.flickr.com/"+item.server+"/"+item.id+"_"+item.secret+"_m.jpg").appendTo("#foto");&lt;br /&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }&lt;br /&gt;&#160;&#160;&#160; });&lt;br /&gt;});&lt;br /&gt;&lt;/pre&gt;&lt;span style="font-size: x-small;"&gt;&lt;b&gt;Listagem 10 - Uso da
    função $.getJSON para consumo de dados no formato JSON.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;É isso aí, consumir serviços REST é diversão garantida !!! E a todos um Feliz Ano Novo repleto de código \o/ !!!&lt;div class="blogger-post-footer"&gt;&lt;img src="https://blogger.googleusercontent.com/tracker/544668644670311424-6935063022547266986?l=netfeijao.blogspot.com" alt="" height="1" width="1" /&gt;&lt;/div&gt;</content:encoded>
    <dc:date>2010-01-06T13:46:11+00:00</dc:date>
  </item>
  <item rdf:about="tag:blogger.com,1999:blog-544668644670311424.post-5857712476832528616">
    <title>NetFeijão Brazil: Entrevista para a Globalcode</title>
    <link>http://netfeijao.blogspot.com/2009/09/entrevista-para-globalcode.html</link>
    <content:encoded>No mês de Junho, foi publicado uma entrevista minha para meus caros amigos da &lt;a href="http://www.globalcode.com.br/"&gt;Globalcode&lt;/a&gt;, sobre carreira e oportunidades, para quem não viu vale a pena conferir. Segue abaixo as perguntas que estão disponíveis no próprio site da Globalcode. Para quiser ver o link da entrevista, &lt;a href="http://www.globalcode.com.br/site/noticias/painel.seam?chave=EntrevistaWagner"&gt;clique aqui&lt;/a&gt;.&lt;br /&gt;&lt;h3&gt;1. Poderia nos
    contar como começou a desenvolver plugins para o Netbeans ?&lt;br /&gt;&lt;/h3&gt;&lt;p&gt;Comecei a desenvolver plugins através do "Desafio NetBeans", um campeonato de desenvolvimento de plugins para o NetBeans patrocinado pela Globalcode, Sun e o SOUJava, me lembro que antes de iniciar o campeonato participei de alguns minicursos gratuitos promovido pela Globalcode, contando inclusive com a participação de dois desenvolvedores do NetBeans (Tim Boudreau e Charlie Hunt).&lt;br /&gt;Neste campeonato
    desenvolvi meu primeiro plugin para o Netbeans, mais especificamente um plugin para o Hibernate, onde a partir de tabelas selecionadas de um Banco de Dados, o plugin gera as entidades de persistência, o arquivo de configuração, com suporte a xDoclet (na época não havia annotations). Neste primeiro contato com a plataforma NetBeans tive a oportunidade de aprender várias coisas legais que me motivaram a continuar o aprendizado.&lt;br /&gt;&lt;/p&gt;&lt;h3&gt;2. Desde então, quais plugins você já
    desenvolveu?&lt;br /&gt;&lt;/h3&gt;&lt;p&gt;O segundo plugin que desenvolvi foi o módulo CodeGen, um plugin para sobrescrever os métodos equals() e hashcode() que na época (NetBeans 5.0) não existia no NetBeans, e existia no Eclipse. Existe até uma história engraçada por trás disso, me lembro de estar em um minicurso em que o Vinicius comentou que abria o Eclipse apenas para utilizar a função do equals e hashcode, o que me motivou a criar este projeto =D.&lt;br /&gt;Depois desenvolvi alguns plugins
    corporativos, e depois de um tempo, a pedido do meu amigo Renato Bellia, criei o plugin Diamond Powder for NetBeans. No evento Yahoo Open Hack Day desenvolvi junto com o time Globalcode o plugin Blueprints Yahoo!, e mais recentemente estou colaborando na criação de um plugin para o framework SuperCRUD para o meu amigo Vinicius Senger.&lt;br /&gt;&lt;/p&gt;&lt;h3&gt;3.Poderia comentar um pouco sobre o plugin que você desenvolveu no Yahoo Open Hack Day onde participou da equipe que ganhou o prêmio
    Bridging the Gap ?&lt;br /&gt;&lt;/h3&gt;&lt;p&gt;Para mim foi uma grande alegria e honra participar do time Globalcode, onde ao todo foram desenvolvidos 4 hacks. Sobre o plugin desenvolvido para o Yahoo Open Hack Day, é um módulo que permite a criação de projetos (através de templates) com suporte ao Yahoo! Blueprint, uma tecnologia desenvolvida pela Yahoo que permite a criação de web sites para celulares com uso apenas de XML. O plugin oferece a criação de um esqueleto para um projeto Yahoo, criando
    os arquivos necessários para seu funcionamento (gallery.xml e config.xml). Além disso, o plugin vem com alguns samples (desenvolvidos pela Globalcode) dentro do NetBeans para os desenvolvedores que querem entender como funciona um projeto Blueprint. E possui suporte a Update Center, Help, e a inclusão do guia do Desenvolvedor em pdf no NetBeans.&lt;br /&gt;&lt;/p&gt;&lt;h3&gt;4. Quais os conhecimentos necessários para um programador começar a criar módulos para o NetBeans ?&lt;br
    /&gt;&lt;/h3&gt;&lt;p&gt;Além de ter conhecimentos sólidos de Java Standard Edition, para o programador iniciar a criação de módulos para o NetBeans, é importante entender como funciona o NetBeans e a sua arquitetura. Procurar enxergar além do IDE, rs.. o IDE NetBeans é construído sobre a Plataforma NetBeans, assim como vários outros produtos, como por exemplo a ferramenta VisualVM, quem utiliza nota a grande semelhança com o NetBeans.&lt;br /&gt;Ao iniciar o desenvolvimento na plataforma NetBeans, já
    temos disponíveis várias funcionalidades / componentes prontos para o uso e toda esta infraestrutura pode ser manipulada via código através das APIs da Plataforma NetBeans. A plataforma dispõe de APIs para trabalhar com diversos tipos de categorias entre os quais podemos destacar como as Ações do Sistema (Actions), Ant, Paleta de objetos, Debug, Dialogs (para notificação), Sistema de Janelas, Sistema de Arquivos, Editores, Navegação, Loaders, entre outros.&lt;br /&gt;O programador precisa somente
    entender como manipular estas APIs que ele pode praticamente fazer o que quiser com o NetBeans.&lt;br /&gt;&lt;/p&gt;&lt;h3&gt;5. Sabemos que você andou fazendo testes com Zembly, poderia comentar um pouco sobre o que é Zembly e para que serve ?&lt;br /&gt;&lt;/h3&gt;&lt;p&gt;A ideia do Zembly, é criar uma espécie de Wiki para aplicações sociais como o Facebook, ele fornece o ambiente no próprio site do Zembly para criação e edição de aplicações sociais, essa aplicação fica hospedada em uma nuvem do
    Zembly de maneira que podemos compartilhar nossa aplicação entre diversos sites, como se fossem widgets.&lt;br /&gt;É algo extremamente interessante, pois no Zembly, temos um editor para o código HTML/XHTML para UI, um editor CSS para aplicar os estilos da aplicação e um editor JavaScript para a lógica do negócio, que pode ser utilizado bibliotecas JavaScript como jQuery, Prototype e podemos fazer inclusive integração com diversas APIs como FlickR, Yahoo API, Google Maps, entre outros.&lt;br
    /&gt;Atualmente estou trabalhando no SOUJava para criar uma aplicação que seja compartilhada pelos sites de tecnologia, fóruns, blogs, de maneira que o SOUJava possa divulgar suas atividades de uma maneira muito mais ampla, pois estes sites deverão apenas incluir um pequeno trecho de código JavaScript em seus sites.&lt;br /&gt;&lt;/p&gt;&lt;h3&gt;6. Poderia comentar um pouco sobre o Plugin que desenvolveu como colaboração para o SuperCRUD ?&lt;br /&gt;&lt;/h3&gt;&lt;p&gt;Na verdade, este foi um
    trabalho relâmpago que montamos para o SuperCRUD e está em evolução, atualmente o plugin permite a criação de qualquer tipo de projeto (web, desktop, maven) com fontes existentes a partir de um servidor remoto, onde o desenvolvedor precisa informar a URL para o projeto (zipado).&lt;br /&gt;Pelo que sei, o desenvolvedor cria um projeto no SuperCRUD, e ao final o próprio SuperCRUD gera uma bookmarkable URL que o programador cola e copia no NetBeans (no plugin), que por sua vez abre o projeto remotamente.
    Mas claro, sobre esta parte do SuperCRUD o Vinicius poderia dar maiores detalhes =D.&lt;br /&gt;&lt;/p&gt;&lt;h3&gt;7. Poderia comentar um pouco sobre o Plugin que fez para o projeto Diamond Powder junto com o Renato Bellia?&lt;br /&gt;&lt;/h3&gt;&lt;p&gt;O Diamond Powder é um framework open source para Java ME desenvolvido pelo Bellia, que acelera a criação de coletores de dados em aplicações MIDP. O framework permite a criação dos formulários, fields (datafield, stringitem, textfield, choicegroup,
    filter, etc..), definição do fluxo de navegação das páginas e as páginas de help de maneira declarativa, baseada em definições de pares de chave-valor com uso de um Hashtable, que descreve toda a sua organização por um objeto chamado Schema.&lt;br /&gt;O "Schema" é o coração do framework, mas conforme a sua aplicação cresce, fica cada vez mais difícil dar manutenção no seu Schema, como adicionar novas páginas e campos, e é onde o plugin entra, ele facilita muito a criação e a manutenção do código do
    Schema (com refactoring ou criação de uma nova classe) através de um wizard e evita a digitação errada dos nomes das váriaveis, campos. &lt;br /&gt;Tem a possibilidade de gravar os dados criados (páginas, campos, etc...) em um arquivo properties e reutilizá-los em outros projetos.&lt;br /&gt;&lt;/p&gt;&lt;h3&gt;8. Você realmente achou um nicho de mercado muito interessante, onde pode colaborar com praticamente qualquer projeto Open Source, quais as dicas que você poderia dar para as pessoas que estão
    iniciando?&lt;br /&gt;&lt;/h3&gt;&lt;p&gt;A melhor dica que posso dar é estudar, estudar e estudar. Porém, se você ficar cansado de estudar, estude mais um pouco, faça cursos de java, visite sites de tecnologia como InfoQ, TheServerSide, execute os samples disponíveis no NetBeans e analise o código fonte, participe das listas de discussão. Participe dos eventos, dos minicursos, inscreva-se em todos os feeds possíveis sobre tecnologia, blogs, participe de grupos de discussão, tire certificações e o mais
    importante, participe de projetos open source, além de aprender com profissionais renomados e compartilhar conhecimento, você estará fazendo networking, sem falar da possibilidade do seu trabalho ficar conhecido no mundo todo.&lt;br /&gt;&lt;/p&gt;&lt;h3&gt;9. Poderia citar algumas referências para quem quer começar a desenvolver plugins para NetBeans ?&lt;br /&gt;&lt;/h3&gt;&lt;p&gt;Para as pessoas que estão iniciando, recomendo o próprio site do &lt;a href="http://platform.netbeans.org/"
    target="_blank"&gt; NetBeans Platform&lt;/a&gt; que possui diversos tutoriais, screencasts, wikis, samples que demonstram como criar módulos para o NetBeans, recomendo também o blog do &lt;a href="http://blogs.sun.com/geertjan" target="_blank"&gt; Geertjan&lt;/a&gt;, um dos desenvolvedores e evangelista do NetBeans, e existe um livro excelente chamado Plugging into the NetBeans Platform, que apesar de ser de 2007 demonstra em detalhes a criação de módulos para o NetBeans e o uso correto das APIs. E
    também recomendo meu artigo que foi publicado na edição 29 da revista Mundo Java sobre a Plataforma NetBeans ;).&lt;br /&gt;&lt;/p&gt;&lt;h3&gt;10. Poderia citar algumas referências para quem quer começar a estudar Zembly?&lt;br /&gt;&lt;/h3&gt;&lt;p&gt;Para começar a estudar Zembly, o mais importante é conhecer bem JavaScript, (X)HTML e CSS, o resto é entender como funciona o ambiente do Zembly.&lt;br /&gt;Uma ótima referência é o &lt;a href="http://wiki.zembly.com/" target="_blank"&gt; wiki&lt;/a&gt;
    do site, que possui diversos tutoriais de como criar aplicações a partir de templates, criação de aplicações para o Facebook, iPhone, Meebo, entre outros.&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img src="https://blogger.googleusercontent.com/tracker/544668644670311424-5857712476832528616?l=netfeijao.blogspot.com" alt="" height="1" width="1" /&gt;&lt;/div&gt;</content:encoded>
    <dc:date>2009-09-10T14:40:38+00:00</dc:date>
  </item>
  <item rdf:about="tag:blogger.com,1999:blog-544668644670311424.post-6621722062697098719">
    <title>NetFeijão Brazil: [JavaEE 6] EJB 3.1 no GlassFish V3 e NetBeans</title>
    <link>http://netfeijao.blogspot.com/2008/09/javaee-6-ejb-31-no-glassfish-v3-e.html</link>
    <content:encoded>&lt;a href="http://4.bp.blogspot.com/_6CJaDmsVepU/SNAH_mQTVfI/AAAAAAAAATM/lDpZo6sjWXk/s1600-h/ed31_destaques.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_6CJaDmsVepU/SNAH_mQTVfI/AAAAAAAAATM/lDpZo6sjWXk/s320/ed31_destaques.jpg" alt="" style="cursor: pointer; display: block; margin: 0px auto 10px; text-align: center;" border="0" id="BLOGGER_PHOTO_ID_5246702355068704242" /&gt;&lt;/a&gt;&lt;br /&gt;Esta semana saiu nas bancas a&lt;span style="font-weight: bold;"&gt; edição
    31&lt;/span&gt; da revista &lt;a href="http://www.mundojava.com.br/"&gt;Mundo Java&lt;/a&gt; com o título "&lt;span style="font-weight: bold;"&gt;Futuro do Java Corporativo"&lt;/span&gt;, com um artigo meu sobre o mesmo tema.&lt;br /&gt;Para quem quer saber o que vai rolar na próxima especificação do Java EE 6, está edição está um prato cheio, portanto compre uma edição e aproveite...&lt;br /&gt;Não vou entrar em muitos detalhes da matéria, mas vou descrever aqui melhor a demo que está na revista, onde
    apresento uma aplicação utilizando Session Bean da especificação de EJB 3.1 no GlassFish V3.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Instalando o GlassFish V3 e o conteiner EJB&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;No &lt;a href="https://glassfish.dev.java.net/downloads/v3-techPreview-1.html"&gt;site do GlassFish&lt;/a&gt; baixe o arquivo zip e descompacte em um diretório da sua escolha, a partir deste momento vamos chamar apenas de GLASSFISH_HOME\bin e execute o updatetool (Figura
    1).&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_6CJaDmsVepU/SM25WJx368I/AAAAAAAAASs/QqzCCqlXUgY/s1600-h/glassfishV3.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_6CJaDmsVepU/SM25WJx368I/AAAAAAAAASs/QqzCCqlXUgY/s320/glassfishV3.jpg" alt="" style="cursor: pointer; display: block; margin: 0px auto 10px; text-align: center;" border="0" id="BLOGGER_PHOTO_ID_5246052931189861314" /&gt;&lt;/a&gt; Na opção available addons, selecione glassfishv3-ejb e clique em Install, esta ação irá instalar o container
    EJB no Glassfish.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Instalando o plugin GlassFish V3 no NetBeans&lt;br /&gt;&lt;br /&gt;&lt;/span&gt; Agora inicie o NetBeans (de preferência a versão 6.1 ou 6.5) e instale o plugin do GlassFish V3 para o NetBeans em Ferramentas | Plugins, selecione em plugins disponíveis "Glassfish JavaEE Integration" e clique em instalar.&lt;br /&gt;Após instaldo o plugin, na aba Serviços, adicione um novo servidor, selecione a opção GlassFish V3 e siga os
    passos apontando o diretório GLASSFISH_HOME de instalação e finalizar.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Vamos explorar agora uma funcionalidade no NetBeans para a criação de CRUD, crie uma nova Aplicação Web na categoria Web e clique em Próximo.&lt;br /&gt;Neste passo digite "DEMO_EJB31" e clique em Próximo, na opção servidores selecione o servidor GlassFish V3 T2 recém instalado e clique em Próximo. No último passo selecione o framework JavaServer Faces e clique em Finalizar.&lt;br
    /&gt;&lt;br /&gt;Agora vamos criar uma aplicação CRUD completa baseada em uma entidade de banco de dados, para isso clique em Arquivo | Novo Arquivo, na categoria Persistence selecione a opção "Classes de entidade do banco de dados" e clique em Próximo.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;OBS:&lt;/span&gt; Antes de fazer o passo abaixo, inicie o banco de dados Derby na guia Serviços do NetBeans, clique com o botão direito do mouse em Java DB e clique em "Iniciar Servidor".&lt;br
    /&gt;&lt;br /&gt;Neste segundo passo, na lista Fonte de Dados selecione a opção "Nova Fonte de Dados", no campo "Nome JNDI" digite jndi/TesteEJB e na lista "Conexão de banco de dados" selecione o banco "jdbc:derby://localhost:1527/vir" já existente e clique em OK.&lt;br /&gt;&lt;br /&gt;Se tudo ocorreu de maneira correta será apresentada uma lista de tabelas disponíveis. Selecione a tabela Employee, clique em Adicionar e em seguida clique em Próximo.&lt;br /&gt;&lt;br /&gt;No campo nome do pacote
    digite br.com.netfeijao.entities e por fim clique no botão "Criar unidade de persistência". Mantenha os valores default clique em Criar e depois clique em Finalizar. Esta ação irá criar a classe persistente Employee no pacote informado.&lt;br /&gt;&lt;br /&gt;Agora vamos utilizar um recurso no NetBeans para a criação de um CRUD com páginas JSF baseado em entidades JPA, no caso a classe Employee que acabamos de criar. Acesse o menu Arquivo | Novo Arquivo, na pasta categoria Persistence selecione
    "Páginas JSF de classes de entidade" e clique em próximo. Adicione a única classe persistente (Employee) existente (ver &lt;span style="font-weight: bold;"&gt;figura 1&lt;/span&gt;), clique em Próximo e a seguir clique em Finalizar.&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_6CJaDmsVepU/SM6UVpf7LVI/AAAAAAAAAS0/btxOAqmjLKo/s1600-h/NetBeans-CRUD_JSF.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_6CJaDmsVepU/SM6UVpf7LVI/AAAAAAAAAS0/btxOAqmjLKo/s320/NetBeans-CRUD_JSF.jpg" alt="" style="cursor:
    pointer; display: block; margin: 0px auto 10px; text-align: center;" border="0" id="BLOGGER_PHOTO_ID_5246293715571125586" /&gt;&lt;/a&gt;Execute a aplicação pressionando o botão F6 e faça testes, perceba que o NetBeans criou uma aplicação completa "a lá Ruby on Rails" com apenas alguns cliques.&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="java"&gt;public class EmployeeController {&lt;br /&gt;private Employee employee = null;&lt;br /&gt;private List employees = null;&lt;br /&gt;@Resource&lt;br
    /&gt;private UserTransaction utx = null;&lt;br /&gt;@PersistenceUnit(unitName = "DEMO_EJB31PU")&lt;br /&gt;private EntityManagerFactory emf = null;&lt;br /&gt;&lt;br /&gt;public EntityManager getEntityManager() {&lt;br /&gt;return emf.createEntityManager();&lt;br /&gt;}&lt;br /&gt;public int batchSize = 5;&lt;br /&gt;private int firstItem = 0;&lt;br /&gt;private int itemCount = -1;&lt;br /&gt;&lt;br /&gt;public SelectItem[] getEmployeesAvailableSelectMany() {&lt;br /&gt;return
    getEmployeesAvailable(false);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public SelectItem[] getEmployeesAvailableSelectOne() {&lt;br /&gt;return getEmployeesAvailable(true);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;private SelectItem[] getEmployeesAvailable(boolean one) {&lt;br /&gt;List allEmployees = getEmployees(true);&lt;br /&gt;int size = one ? allEmployees.size() + 1 : allEmployees.size();&lt;br /&gt;SelectItem[] items = new SelectItem[size];&lt;br /&gt;int i = 0;&lt;br /&gt;if (one) {&lt;br /&gt;items[0] =
    new SelectItem("", "---");&lt;br /&gt;i++;&lt;br /&gt;}&lt;br /&gt;for (Employee x : allEmployees) {&lt;br /&gt;items[i++] = new SelectItem(x, x.toString());&lt;br /&gt;}&lt;br /&gt;return items;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public Employee getEmployee() {&lt;br /&gt;if (employee == null) {&lt;br /&gt;employee = getEmployeeFromRequest();&lt;br /&gt;}&lt;br /&gt;if (employee == null) {&lt;br /&gt;employee = new Employee();&lt;br /&gt;}&lt;br /&gt;return employee;&lt;br /&gt;}&lt;br /&gt;&lt;br
    /&gt;public String listSetup() {&lt;br /&gt;reset(true);&lt;br /&gt;return "employee_list";&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public String createSetup() {&lt;br /&gt;reset(false);&lt;br /&gt;employee = new Employee();&lt;br /&gt;return "employee_create";&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public String create() {&lt;br /&gt;EntityManager em = getEntityManager();&lt;br /&gt;try {&lt;br /&gt;utx.begin();&lt;br /&gt;em.persist(employee);&lt;br /&gt;utx.commit();&lt;br /&gt;addSuccessMessage("Employee
    was successfully created.");&lt;br /&gt;} catch (Exception ex) {&lt;br /&gt;try {&lt;br /&gt;if (findEmployee(employee.getId()) != null) {&lt;br /&gt;addErrorMessage("Employee " + employee + " already exists.");&lt;br /&gt;} else {&lt;br /&gt;ensureAddErrorMessage(ex, "A persistence error occurred.");&lt;br /&gt;}&lt;br /&gt;utx.rollback();&lt;br /&gt;} catch (Exception e) {&lt;br /&gt;ensureAddErrorMessage(e, "An error occurred attempting to roll back the transaction.");&lt;br /&gt;}&lt;br /&gt;return
    null;&lt;br /&gt;} finally {&lt;br /&gt;em.close();&lt;br /&gt;}&lt;br /&gt;return listSetup();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public String detailSetup() {&lt;br /&gt;return scalarSetup("employee_detail");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public String editSetup() {&lt;br /&gt;return scalarSetup("employee_edit");&lt;br /&gt;}&lt;br /&gt;..&lt;br /&gt;}&lt;/pre&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="font-weight: bold;"&gt;Listagem 1 -
    &lt;/span&gt;Parte da Classe EmployeeController gerado pelo NetBeans&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Perceba que o NetBeans gerou o código de persistencia em uma classe controller, vamos melhorar um pouco isto, tirando o código de acesso aos dados e isolando isto em uma classe DAO, depois vamos transformar esta classe em um EJB sem interface,&lt;br /&gt;&lt;br /&gt;OBS&gt; Cuidado, o uso de um EJB DAO deve ser restrito, pois dependendo do seu uso, isso pode ser um Anti-Pattern&lt;br /&gt;&lt;br
    /&gt;Vamos criar uma nova classe Java acessando o menu Arquivo | Novo Arquivo. Nomeie a classe como EmployeeDAO no pacote br.com.mundojava.dao. Nesta classe vamos colocar todos os métodos de acesso ao banco utilizados na classe EmployeeController e inclui-los na classe recém criada. Veja parte do código na Listagem 18.&lt;br /&gt;&lt;br /&gt;Vamos criar uma nova classe Java acessando o menu Arquivo | Novo Arquivo. Nomeie a classe como EmployeeDAO no pacote br.com.mundojava.dao.&lt;br
    /&gt;Adicionalmente vamos criar uma classe para tratamento de Exceptions, crie uma classe e nomeie de DatabaseException, na classe DAO vamos encapsular os erros de acesso a banco nesta classe.&lt;br /&gt;&lt;br /&gt;Criada a classe DAO, vamos colocar todos os métodos de acesso ao banco utilizados na classe EmployeeController. Feito isto, transforme esta classe EmployeeDAO em um EJB colocando a anotação Stateless em cima da declaração da classe. Veja parte da classe criada na &lt;span
    style="font-weight: bold;"&gt;Listagem 2&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="java"&gt;@Stateless&lt;br /&gt;public class EmployeeDAO {&lt;br /&gt;&lt;br /&gt;public static final int PROCESSADO = 1;&lt;br /&gt;public static final int JA_EXISTE = 2;&lt;br /&gt;public static final int ERRO = 3;&lt;br /&gt;&lt;br /&gt;@PersistenceUnit(unitName = "DEMO_EJB31PU")&lt;br /&gt;private EntityManagerFactory emf;&lt;br /&gt;&lt;br /&gt;private EntityManager getEntityManager() {&lt;br
    /&gt; return emf.createEntityManager();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt; public Employee getEmployeeFromRequestParam(Object employee) {&lt;br /&gt; EntityManager em = getEntityManager();&lt;br /&gt; try{&lt;br /&gt; Employee o = em.merge((Employee) employee);&lt;br /&gt; return o;&lt;br /&gt; } finally {&lt;br /&gt; em.close();&lt;br /&gt; }&lt;br /&gt; } &lt;br /&gt;&lt;br /&gt; public int create(Employee employee) throws DatabaseException{&lt;br /&gt; EntityManager em = getEntityManager();&lt;br
    /&gt; try {&lt;br /&gt; em.getTransaction().begin();&lt;br /&gt; em.persist(employee);&lt;br /&gt; em.getTransaction().commit();&lt;br /&gt; return EmployeeDAO.PROCESSADO;&lt;br /&gt; } catch (Exception ex) {&lt;br /&gt; try{&lt;br /&gt; int opt = 0;&lt;br /&gt; if (getEmployee(employee.getId()) != null) {&lt;br /&gt; opt = EmployeeDAO.JA_EXISTE;&lt;br /&gt; } else {&lt;br /&gt; opt = EmployeeDAO.ERRO;&lt;br /&gt; throw new DatabaseException("A persistence error occurred.");&lt;br /&gt; }&lt;br /&gt;
    em.getTransaction().rollback();&lt;br /&gt; return opt;&lt;br /&gt; }catch(Exception sup){&lt;br /&gt; throw new DatabaseException("An error occurred attempting to roll back the transaction.");&lt;br /&gt; } finally {&lt;br /&gt; em.close();&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;public void edit(Employee employee) throws DatabaseException {&lt;br /&gt;EntityManager em = getEntityManager();&lt;br /&gt;try {&lt;br /&gt;em.getTransaction().begin();&lt;br
    /&gt;em.merge(employee);&lt;br /&gt;em.getTransaction().commit();&lt;br /&gt;} catch (Exception ex) {&lt;br /&gt;try {&lt;br /&gt;em.getTransaction().rollback();&lt;br /&gt;throw new DatabaseException(ex.getLocalizedMessage());&lt;br /&gt;} catch (Exception e) {&lt;br /&gt;throw new DatabaseException("An error occurred attempting to roll back the transaction.");&lt;br /&gt;}&lt;br /&gt;} finally {&lt;br /&gt;em.close();&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;...&lt;br /&gt;}&lt;/pre&gt;&lt;div
    style="text-align: center;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="font-weight: bold;"&gt;Listagem 2&lt;/span&gt; - Parte da classe EmployeeDAO recém criada.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Fica um desafio para o leitor do blog, criar os métodos&lt;br /&gt;&lt;pre name="code" class="java"&gt;public void destroy(Employee employee);&lt;br /&gt;public List getEmployees(boolean all, &lt;br /&gt; int batchSize, &lt;br /&gt; int firstItem); &lt;br /&gt;public List getEmployees(boolean
    all, &lt;br /&gt; int batchSize, &lt;br /&gt; int firstItem); &lt;br /&gt;public Employee getEmployee(Integer id); &lt;br /&gt;public int getItemCount();&lt;br /&gt;&lt;/pre&gt;Por fim, na classe EmployeeController vamos fazer algumas alterações para consumir o EJB sem interface. Primeiro declare uma variável do tipo EmployeeDAO, e vamos injetar com a referência do EJB, e troque todas as referências ao código de acesso ao banco para apontar para o nosso EJB DAO, veja como ficou na classe
    EmployeeController na &lt;span style="font-weight: bold;"&gt;Listagem 3&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="java"&gt;public class EmployeeController {&lt;br /&gt;private Employee employee = null;&lt;br /&gt;private List employees = null;&lt;br /&gt;public int batchSize = 5;&lt;br /&gt;private int firstItem = 0;&lt;br /&gt;private int itemCount = -1;&lt;br /&gt;@EJB&lt;br /&gt;EmployeeDAO dao;&lt;br /&gt;&lt;br /&gt;public SelectItem[] getEmployeesAvailableSelectMany()
    {&lt;br /&gt;return getEmployeesAvailable(false);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public SelectItem[] getEmployeesAvailableSelectOne() {&lt;br /&gt;return getEmployeesAvailable(true);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;private SelectItem[] getEmployeesAvailable(boolean one) {&lt;br /&gt;List allEmployees = getEmployees(true);&lt;br /&gt;int size = one ? allEmployees.size() + 1 : allEmployees.size();&lt;br /&gt;SelectItem[] items = new SelectItem[size];&lt;br /&gt;int i = 0;&lt;br /&gt;if (one)
    {&lt;br /&gt;items[0] = new SelectItem("", "---");&lt;br /&gt;i++;&lt;br /&gt;}&lt;br /&gt;for (Employee x : allEmployees) {&lt;br /&gt;items[i++] = new SelectItem(x, x.toString());&lt;br /&gt;}&lt;br /&gt;return items;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public Employee getEmployee() {&lt;br /&gt;if (employee == null) {&lt;br /&gt;employee = getEmployeeFromRequest();&lt;br /&gt;}&lt;br /&gt;if (employee == null) {&lt;br /&gt;employee = new Employee();&lt;br /&gt;}&lt;br /&gt;return employee;&lt;br
    /&gt;}&lt;br /&gt;&lt;br /&gt;public String listSetup() {&lt;br /&gt;reset(true);&lt;br /&gt;return "employee_list";&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public String createSetup() {&lt;br /&gt;reset(false);&lt;br /&gt;employee = new Employee();&lt;br /&gt;return "employee_create";&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public String create() {&lt;br /&gt;int resultado = dao.PROCESSADO;&lt;br /&gt;try {&lt;br /&gt;resultado = dao.create(employee);&lt;br /&gt;if (resultado == dao.PROCESSADO) {&lt;br
    /&gt;addSuccessMessage("Employee was successfully created.");&lt;br /&gt;} else if (resultado == dao.JA_EXISTE) {&lt;br /&gt;addErrorMessage("Employee " + employee + " already exists.");&lt;br /&gt;}&lt;br /&gt;} catch (Exception ex) {&lt;br /&gt;ensureAddErrorMessage(ex, ex.getLocalizedMessage());&lt;br /&gt;}&lt;br /&gt;return listSetup();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public String detailSetup() {&lt;br /&gt;return scalarSetup("employee_detail");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public
    String editSetup() {&lt;br /&gt;return scalarSetup("employee_edit");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;private String scalarSetup(String destination) {&lt;br /&gt;reset(false);&lt;br /&gt;employee = getEmployeeFromRequest();&lt;br /&gt;if (employee == null) {&lt;br /&gt;String requestEmployeeString = getRequestParameter("jsfcrud.currentEmployee");&lt;br /&gt;addErrorMessage("The employee with id " + requestEmployeeString + " no longer exists.");&lt;br /&gt;String relatedControllerOutcome =
    relatedControllerOutcome();&lt;br /&gt;if (relatedControllerOutcome != null) {&lt;br /&gt;return relatedControllerOutcome;&lt;br /&gt;}&lt;br /&gt;return listSetup();&lt;br /&gt;}&lt;br /&gt;return destination;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public String edit() {&lt;br /&gt;EmployeeConverter converter = new EmployeeConverter();&lt;br /&gt;String employeeString = converter.getAsString(FacesContext.getCurrentInstance(), null, employee);&lt;br /&gt;String currentEmployeeString =
    getRequestParameter("jsfcrud.currentEmployee");&lt;br /&gt;if (employeeString == null || employeeString.length() == 0 || !employeeString.equals(currentEmployeeString)) {&lt;br /&gt;String outcome = editSetup();&lt;br /&gt;if ("employee_edit".equals(outcome)) {&lt;br /&gt;addErrorMessage("Could not edit employee. Try again.");&lt;br /&gt;}&lt;br /&gt;return outcome;&lt;br /&gt;}&lt;br /&gt;try {&lt;br /&gt;dao.edit(employee);&lt;br /&gt;addSuccessMessage("Employee was successfully updated.");&lt;br
    /&gt;} catch (DatabaseException ex) {&lt;br /&gt;String msg = ex.getLocalizedMessage();&lt;br /&gt;if (msg != null &amp;amp;&amp;amp; msg.length() &gt; 0) {&lt;br /&gt;addErrorMessage(msg);&lt;br /&gt;}else if (getEmployeeFromRequest() == null) {&lt;br /&gt;addErrorMessage("The employee with id " + currentEmployeeString + " no longer exists.");&lt;br /&gt;return listSetup();&lt;br /&gt;} else {&lt;br /&gt;addErrorMessage("A persistence error occurred.");&lt;br /&gt;}&lt;br /&gt;return null;&lt;br
    /&gt;}&lt;br /&gt;return detailSetup();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public String destroy() {&lt;br /&gt;employee = getEmployeeFromRequest();&lt;br /&gt;if (employee == null) {&lt;br /&gt;String currentEmployeeString = getRequestParameter("jsfcrud.currentEmployee");&lt;br /&gt;addErrorMessage("The employee with id " + currentEmployeeString + " no longer exists.");&lt;br /&gt;String relatedControllerOutcome = relatedControllerOutcome();&lt;br /&gt;if (relatedControllerOutcome != null) {&lt;br
    /&gt;return relatedControllerOutcome;&lt;br /&gt;}&lt;br /&gt;return listSetup();&lt;br /&gt;}&lt;br /&gt;try {&lt;br /&gt;dao.destroy(employee);&lt;br /&gt;addSuccessMessage("Employee was successfully deleted.");&lt;br /&gt;} catch (DatabaseException ex) {&lt;br /&gt;ensureAddErrorMessage(ex, ex.getLocalizedMessage());&lt;br /&gt;return null;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;String relatedControllerOutcome = relatedControllerOutcome();&lt;br /&gt;if (relatedControllerOutcome != null) {&lt;br
    /&gt;return relatedControllerOutcome;&lt;br /&gt;}&lt;br /&gt;return listSetup();&lt;br /&gt;}&lt;br /&gt;...&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-size: 78%; font-weight: bold;"&gt;Listagem 3&lt;/span&gt;&lt;span style="font-size: 78%;"&gt; - Classe EmployeeController refatorada para utilizar o EJB DAO sem interface&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Perceba que na expressão "@EJB EmployeeDAO dao" estamos referenciando ao EJB, sem interface para atrapalhar, claro que não é possível
    criar uma instância utilizando a palavra reservada &lt;span style="font-family: courier new;"&gt;new&lt;/span&gt; ainda, na verdade estamos trabalhando com um proxy, mas se quisermos podemos fazer um lookup utilizando JNDI também.&lt;br /&gt;Vou deixar o restante dos métodos para o leitor resolver, é apenas trocar a referencia pela classe dao conforme os métodos acima.&lt;br /&gt;&lt;br /&gt;&lt;a
    href="http://3.bp.blogspot.com/_6CJaDmsVepU/SM6lmKJmaUI/AAAAAAAAAS8/MYcHF1Hx_yI/s1600-h/Exemplo-App.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_6CJaDmsVepU/SM6lmKJmaUI/AAAAAAAAAS8/MYcHF1Hx_yI/s320/Exemplo-App.jpg" alt="" style="cursor: pointer; float: left; margin: 0pt 10px 10px 0pt;" border="0" id="BLOGGER_PHOTO_ID_5246312690911439170" /&gt;&lt;/a&gt;&lt;br /&gt;Compile e faça o deploy, rode a aplicação, se tudo deu certo você irá ver a sua aplicação rodando (ver figura 2) com um EJB sem interface,
    e o melhor, o EJB está dentro de um arquivo .war, já estamos implementando o empacotamento simplificado.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Veja como ficou o empacotamento do nosso projeto na &lt;span style="font-weight: bold;"&gt;Figura 3&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_6CJaDmsVepU/SM6mcEcvL6I/AAAAAAAAATE/JBJeHJ0ploU/s1600-h/Figura+6.jpg"&gt;&lt;img
    src="http://4.bp.blogspot.com/_6CJaDmsVepU/SM6mcEcvL6I/AAAAAAAAATE/JBJeHJ0ploU/s320/Figura+6.jpg" alt="" style="cursor: pointer; display: block; margin: 0px auto 10px; text-align: center;" border="0" id="BLOGGER_PHOTO_ID_5246313617094029218" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Para maiores informações sobre o futuro do Java Corporativo, leia a edição 31 da Mundo Java, que ainda traz ótimos artigos como:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align:
    left;"&gt;&lt;ul&gt;&lt;li&gt;EJB 3.1:Conheça as Novidades do Futuro do Java Corporativo.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Autor&lt;/span&gt;:Wagner Roberto dos Santos &lt;br /&gt;&lt;/li&gt;&lt;li&gt;Grizzly e Comet - Ajax Reverso com Escalabilidade. &lt;/li&gt;&lt;li&gt; &lt;span style="font-weight: bold;"&gt;Autor&lt;/span&gt;: Pedro Cavalero &lt;/li&gt;&lt;li&gt; Usando o Mavem para melhorar a Qualidade dos seus Projetos. &lt;/li&gt;&lt;li&gt; &lt;span style="font-weight:
    bold;"&gt;Autor&lt;/span&gt;:Márcio Varchavsky &lt;/li&gt;&lt;li&gt; Criando Software mais próximo do Cliente com Domain-Drivgen Design. &lt;/li&gt;&lt;li&gt; &lt;span style="font-weight: bold;"&gt;Autor&lt;/span&gt;:Sérgio Lopes &lt;/li&gt;&lt;li&gt; Setembro: Mês de Java. &lt;/li&gt;&lt;li&gt; &lt;span style="font-weight: bold;"&gt;Autor&lt;/span&gt;:Mauricio Leal &lt;/li&gt;&lt;li&gt; Testes de unidades Avançadas com JMock 2 &lt;/li&gt;&lt;li&gt; &lt;span style="font-weight:
    bold;"&gt;Autor&lt;/span&gt;:Eduardo Guerra &lt;/li&gt;&lt;li&gt; Gerenciamento de Conteúdo Web com OpemCMS -Customização de Sites. &lt;/li&gt;&lt;li&gt; &lt;span style="font-weight: bold;"&gt;Autor&lt;/span&gt;:Rodrigo Cunha de Paiva &lt;/li&gt;&lt;li&gt; Tirando o Máximo dos Interceptors no Struts2. &lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Autor&lt;/span&gt;: José Yoshiriro Ajisaka Ramos &lt;/li&gt;&lt;li&gt; Tendências em Foco:Ganhando com Open Source &lt;/li&gt;&lt;li&gt;
    &lt;span style="font-weight: bold;"&gt;Autor&lt;/span&gt;:Cezar Taurion &lt;/li&gt;&lt;li&gt; Jogo Rápido &lt;/li&gt;&lt;li&gt; &lt;span style="font-weight: bold;"&gt;Autor&lt;/span&gt;:Charbel Symanski e Rodrigo Barbosa Cesar &lt;/li&gt;&lt;li&gt; Mundo OO: Requisitos Executáveis com FIT &lt;/li&gt;&lt;li&gt; &lt;span style="font-weight: bold;"&gt;Autor&lt;/span&gt;:Rodrigo Yoshima &lt;/li&gt;&lt;li&gt; SOA na Pratica:Iniciando Projetos SOA. &lt;/li&gt;&lt;li&gt; &lt;span style="font-weight:
    bold;"&gt;Autor&lt;/span&gt;:Ricardo Ferreira &lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;a href="http://4.bp.blogspot.com/_6CJaDmsVepU/Si7bOgwtwFI/AAAAAAAAAjo/2wDoZpJTKCs/s1600-h/revistanumero0031.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_6CJaDmsVepU/Si7bOgwtwFI/AAAAAAAAAjo/2wDoZpJTKCs/s400/revistanumero0031.jpg" alt="" style="cursor: pointer; float: left; height: 190px; margin: 0pt 10px 10px 0pt; width: 148px;" border="0" id="BLOGGER_PHOTO_ID_5345450850094268498" /&gt;&lt;/a&gt;&lt;br
    /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Diversão Garantida !!!&lt;div class="blogger-post-footer"&gt;&lt;img src="https://blogger.googleusercontent.com/tracker/544668644670311424-6621722062697098719?l=netfeijao.blogspot.com" alt="" height="1" width="1" /&gt;&lt;/div&gt;</content:encoded>
    <dc:date>2009-09-09T14:41:59+00:00</dc:date>
  </item>
  <item rdf:about="http://www.jroller.com/hmichel/entry/want_to_develop_some_feature">
    <title>Michel Graciano's Weblog: Want to develop some feature to NetBeans IDE? Join to NetDEV program</title>
    <link>http://www.jroller.com/hmichel/entry/want_to_develop_some_feature</link>
    <content:encoded>&lt;p&gt;&lt;img src="http://www.netbeans.info/appl2/show_image.php?id=3203&amp;amp;column=image&amp;amp;table=story&amp;amp;type=image/png&amp;amp;db=xnetbeans&amp;amp;db_type=pear&amp;amp;id_col=story_id" /&gt; You might have heard about &lt;a href="http://wiki.netbeans.org/NetCAT" target="_blank"&gt;NetCAT&lt;/a&gt;, the NetBeans Community Beta testing program. In an open source project like NetBeans it's no surprise there is a variety of other ways to contribute: You can help us
    fix bugs as &lt;a href="http://wiki.netbeans.org/NetFIX" target="_blank"&gt;NetFIX team&lt;/a&gt; member, or even cooperate on the development of new features under the new NetDEV program for the upcoming NetBeans IDE 6.8. Wanna get your hands dirty with source code and implement your favorite enhancement? Join &lt;a href="http://wiki.netbeans.org/NetDEV" target="_blank"&gt;NetDEV&lt;/a&gt; today and get your name listed in the NetBeans credits too and take a look at &lt;a
    href="http://eppleton.sharedhost.de/blog/wp-trackback.php?p=813"&gt;Toni's post&lt;/a&gt; about the program!!&lt;/p&gt;</content:encoded>
    <dc:date>2009-08-15T02:11:42+00:00</dc:date>
  </item>
  <item rdf:about="http://www.softag.com.br/roller/adourado/entry/netbeans_ide_6_8_milestone">
    <title>adourado: NetBeans IDE 6.8 Milestone 1 Liberado para Download</title>
    <link>http://www.softag.com.br/roller/adourado/entry/netbeans_ide_6_8_milestone</link>
    <content:encoded>&lt;p&gt; É isso mesmo, o pessoal do Netbeans Team acabou de lançar uma milestone 1 da versão do Netbeans 6.8. &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;A grandes novidades desta versão são a adição do "Netbeans Browser" um browser baseado no XULRunner do Mozilla embutido ao Netbeans e o suporte a ferramentas/linguagens mais recentes. Como é o caso do JRuby 1.3.1, PHP 5.3.0 e o Java EE 6.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Segue a lista completa dos
    novos recursos:&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Browser Embutido&lt;/li&gt;&lt;li&gt;Suporte Java EE v6&lt;br /&gt;&lt;/li&gt;&lt;li&gt;PHP &lt;ul&gt;&lt;li&gt;Suporte PHP 5.3.0&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt; &lt;/li&gt;&lt;li&gt;Maven &lt;ul&gt;&lt;li&gt;Melhorias no suporte a Groovy e Scala&lt;/li&gt;&lt;/ul&gt; &lt;/li&gt;&lt;li&gt;C/C++ &lt;ul&gt;&lt;li&gt;Desenvolvimento Remoto&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Assistente de Codificação &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;
    &lt;/li&gt;&lt;li&gt;Ruby &lt;ul&gt;&lt;li&gt;JRuby atualizado para 1.3.1 &lt;/li&gt;&lt;li&gt;Suporte RSpec 1.2.7&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt; &lt;/li&gt;&lt;li&gt;Suporte Jira em Issue Tracking&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Sei que é uma versão ainda em testes mas não consegui conter a curiosidade e já baixei e fiz alguns pequenos testes. Não notei grandes diferenças entre ela e a 6.7.1 e &lt;b&gt;ainda&lt;/b&gt; não me apronfudei muito mas por enquanto segue uma pequena
    amostra "Netbeans Browser".&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;a href="http://picasaweb.google.com.br/lh/photo/XugYaYWJdUinoAHK7vdIWg?feat=embedwebsite"&gt;&lt;img src="http://lh3.ggpht.com/_4vI4LP6DY_g/SoMN6b-ig6I/AAAAAAAAAPo/qVWv-sIZ31Y/s400/netbeans68-1.png" /&gt;&lt;/a&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Esta nova versão despertou a curiosidade de muita gente e que já se aprofundou muito mais que eu e você pode ver aqui:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a
    href="http://netbeans.dzone.com/news/java-ee-6-netbeans-ide-68" target="_blank"&gt;Java EE 6 in NetBeans IDE 6.8 Milestone 1&lt;/a&gt; &lt;br /&gt;&lt;/li&gt;&lt;li&gt;e &lt;a href="http://netbeans.dzone.com/news/embedded-browser-netbeans-ide" target="_blank"&gt;Embedded Browser in NetBeans IDE 6.8 Milestone 1&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;O download pode ser feito aqui: &lt;a href="http://bits.netbeans.org/netbeans/6.8/m1/"&gt;Download NetBeans IDE 6.8
    Milestone 1.&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Para saber mais sobre a versão acesse &lt;a href="http://wiki.netbeans.org/NewAndNoteworthyNB68"&gt;NetBeans 6.8 New and Noteworthy page&lt;/a&gt; e o &lt;a href="http://www.netbeans.org/servlets/NewsItemView?newsItemID=1413" target="_blank"&gt;anúncio oficial&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content:encoded>
    <dc:date>2009-08-13T10:49:00+00:00</dc:date>
  </item>
  <item rdf:about="http://www.softag.com.br/roller/adourado/entry/nova_versao_alpha_do_plugin">
    <title>adourado: Nova Versao Alpha do Plugin Griffon para NetBeans IDE 6.7</title>
    <link>http://www.softag.com.br/roller/adourado/entry/nova_versao_alpha_do_plugin</link>
    <content:encoded>&lt;p&gt;Outro dia,&#160; no post "&lt;a href="http://www.softag.com.br/roller/adourado/entry/utilizando_o_netbeans_para_desenvolver"&gt;Utilizando o Netbeans para Desenvolver com Griffon&lt;/a&gt;" mostrei como instalar e utilizar um plugin para o Netbeans 6.7 que permite desenvolver aplicações com o framework Griffon.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Este mesmo plugin, ainda em fase de testes, acaba de sofre um upgrade. Evolui da versão Pre-Alpha para Alpha. Como
    falei no post anterior, mesmo sendo uma versão de testes já promete muito e cumpre suas obrigações. &lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;As grandes novidades desta versão são:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;A apresentação da pasta dos fontes dos projetos Griffon na janela de projetos antes visto apenas pela janela de arquivos;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Problema de incompatibilidade com aplicações Grails que deixava de funcionar e assumia os comandos do Griffon após a instalação do
    plugin.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://blogs.sun.com/geertjan/resource/griffon-in-nb-67-alpha2.png" target="_blank"&gt;&lt;img src="http://blogs.sun.com/geertjan/resource/griffon-in-nb-67-alpha2.png" border="0" align="baseline" height="332" width="400" vspace="0" hspace="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;No post anterior mostra como você pode instalar o plugin passo a passo mas para baixar o
    plugin acesse: &lt;a href="http://plugins.netbeans.org/PluginPortal/faces/PluginDetailPage.jsp?pluginid=18664" target="_blank"&gt;http://plugins.netbeans.org/PluginPortal/faces/PluginDetailPage.jsp?pluginid=18664&lt;br /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Este plugin é open source e seus fontes podem ser acessados em: &lt;a href="http://kenai.com/projects/nbgriffonsuite" target="_blank"&gt;http://kenai.com/projects/nbgriffonsuite&lt;br
    /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Para ver o anúncio divulgado pelo autor acesse: &lt;a href="http://blogs.sun.com/geertjan/entry/griffon_alpha_plugin_for_netbeans" target="_blank"&gt;Griffon Alpha Plugin for NetBeans IDE 6.7&lt;/a&gt;&lt;/p&gt;&#160;&lt;p&gt;&#160;&lt;/p&gt;</content:encoded>
    <dc:date>2009-08-06T10:46:28+00:00</dc:date>
  </item>
  <item rdf:about="http://www.go-java.com:80/blog/2009/08/03/1249323002207.html">
    <title>Controverso eu ? - NetBeans category: NetBeans 6.8 Milestole 1 - Mas já ?</title>
    <link>http://www.go-java.com:80/blog/2009/08/03/1249323002207.html</link>
    <content:encoded>&lt;p&gt;Pelo visto mesmo depois da aquisição da Oracle , a Sun continua dando muita enfase a sua IDE de pilha completa NetBeans.&lt;/p&gt; &lt;p&gt;A versão 6.8 tem como vantagem principal a implementação de Java EE 6.0 , que tem a promessa de ser a plataforma mais completa e acessivel para o desenvolvimento de aplicações disponivel no mercado.&lt;/p&gt; &lt;p&gt;&lt;a href="http://wiki.netbeans.org/NewAndNoteworthyNB68"&gt;Novidades ?&lt;/a&gt; &lt;a
    href="http://bits.netbeans.org/netbeans/6.8/m1/"&gt;Download ?&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&#160;&lt;/p&gt;</content:encoded>
    <dc:date>2009-08-03T18:10:02+00:00</dc:date>
  </item>
  <item rdf:about="http://www.softag.com.br/roller/adourado/entry/lancado_netbeans_ide_6_7">
    <title>adourado: Lancado NetBeans IDE 6.7.1 com suporte JavaFX</title>
    <link>http://www.softag.com.br/roller/adourado/entry/lancado_netbeans_ide_6_7</link>
    <content:encoded>&lt;p&gt;O Netbeans Team lançadou uma atualização para o Netbeans e como a gande novidade o suporte ao JavaFX antes disponível apenas na versão 6.5.&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Além do suporte ao Java FX 1.2 outras novidades da versão são: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Atualização do GlassFish v3 build #28f&lt;/li&gt;&lt;li&gt;Correção de diversos bugs, especialmente no editor Java e no project scanning areas.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Ainda
    não cheguei a baixar esta nova versão mas atualizei a minha versão 6.7 a partir do Plugin update. Para isso atualização é bem simples, é só clicar no globo que aparece no canto inferior esquerdo da tela, na barra de status, ir na aba de atualização e&#160; confirmar seguir os passos da instalação. Caso não tenha aparecido um globo basta você ir no menu Ferramentas --&gt; Plugins. &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;O Adam Bien divulgou algumas observações em seu primeiro teste &lt;a
    href="http://www.adam-bien.com/roller/abien/entry/netbeans_6_7_1_with" target="_blank"&gt;Netbeans 6.7.1 with Java FX 1.2 Support - First Test.&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Para ver o anúncio oficial acesse &lt;a href="http://www.netbeans.org/servlets/NewsItemView?newsItemID=1407" target="_blank"&gt;aqui&lt;/a&gt;. E para baixar, &lt;u&gt;&lt;a href="http://www.netbeans.org/downloads/index.html" target="_blank"&gt;Download NetBeans
    6.7.1&lt;/a&gt;&lt;/u&gt;&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Lembrando que existe uma versão apenas com o JavaFX e que está disponível no nosso idioma. &lt;br /&gt;&lt;/p&gt;&lt;b&gt;&lt;/b&gt;</content:encoded>
    <dc:date>2009-08-03T11:58:58+00:00</dc:date>
  </item>
  <item rdf:about="http://www.paulocanedo.com.br/?p=153">
    <title>Paulo Canedo » NetBeans pt_BR: Swing Hacks – Um botão diferente e elegante</title>
    <link>http://www.paulocanedo.com.br/2009/07/15/swing-hacks-um-botao-diferente-e-elegante/</link>
    <content:encoded>&lt;div style="width: 574px;" id="attachment_156" class="wp-caption alignnone"&gt;&lt;img src="http://www.paulocanedo.com.br/wp-content/uploads/2009/07/swing_hacks_botao_elegante.gif" title="Imagem do Botão elegante" height="270" width="564" alt="Imagem do Botão elegante" class="size-full wp-image-156" /&gt;&lt;p class="wp-caption-text"&gt;Imagem do Botão elegante&lt;/p&gt;&lt;/div&gt; &lt;p&gt;Atualmente estou estudando bastante diferentes formas de melhorar o visual e comportamento
    do swing, então comecei criando o botão personalizado. O botão ficou até bonitinho &lt;img src="http://www.paulocanedo.com.br/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /&gt; O que eu acho bem interessante é que tomei bastante cuidado em manter a compatibilidade com o modo design dos IDEs, testei com o matisse do NetBeans e funcionou perfeitamente em modo design, os três principais campos são o &lt;em&gt;text&lt;/em&gt;, &lt;em&gt;icon&lt;/em&gt; e o
    &lt;em&gt;description&lt;/em&gt;, sendo que este último é o único campo não herdado do JButton, todos eles podem ser modificados, por exemplo, pela janela propriedades do NetBeans.&lt;/p&gt; &lt;p&gt;Estou pensando em implementar um novo lookandfeel, mas por enquanto esse botão foi feito sobrescrevendo alguns métodos paint do JButton, entretanto não acho que seja possível fazer esse componente através de um UI do lookandfeel.&lt;/p&gt; &lt;div style="width: 323px;" id="attachment_157" class="wp-caption
    alignnone"&gt;&lt;img src="http://www.paulocanedo.com.br/wp-content/uploads/2009/07/swing_hacks_botao_elegante2.gif" title="Propriedades do botão no NetBeans" height="618" width="313" alt="Propriedades do botão no NetBeans" class="size-full wp-image-157" /&gt;&lt;p class="wp-caption-text"&gt;Propriedades do botão no NetBeans&lt;/p&gt;&lt;/div&gt; &lt;p&gt;Utilize e modifique livremente o código fonte, mas por favor mantenha os créditos no source.&lt;/p&gt; &lt;p&gt;&lt;a
    href="http://www.paulocanedo.com.br/arquivos/SwingHacks1.zip" title="Swing Hacks - Botão diferente e elegante"&gt;Clique aqui&lt;/a&gt; para baixar o source com o binário.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.paulocanedo.com.br/arquivos/swing_hacks1.jnlp"&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded>
    <dc:date>2009-07-16T02:31:31+00:00</dc:date>
  </item>
  <item rdf:about="http://www.softag.com.br/roller/adourado/entry/utilizando_o_netbeans_para_desenvolver">
    <title>adourado: Utilizando o Netbeans para Desenvolver com Griffon</title>
    <link>http://www.softag.com.br/roller/adourado/entry/utilizando_o_netbeans_para_desenvolver</link>
    <content:encoded>&lt;p&gt;O que é que nós desenvolvedores estamos sempre buscando?? Ferramentas que falicitem as nossas atividades. E como a ferramenta que ultimamete tem me salvado é o Netbeans, a primeira coisa que fiz quando comecei a programar em Grail/Griffon/Groovy foi pesquisar os plugins para Netbeans.&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;E com isso, dando continuidade em meus posts sobre o Griffon, hoje vou falar do plugin Griffon feito para o Netbeans.
    &lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Comecei a busca do plugin com o pé direito, o dia em que eu pesquisei foi exatamente o mesmo dia em que &lt;a href="http://blogs.sun.com/geertjan/" target="_blank"&gt;Geertjan&lt;/a&gt; liberou o plugin do Griffon para &lt;a href="http://plugins.netbeans.org/PluginPortal/faces/PluginDetailPage.jsp?pluginid=18664" target="_blank"&gt;download&lt;/a&gt; no &lt;a href="http://plugins.netbeans.org/" target="_blank"&gt;site de&#160; plugins do Netbeans&lt;/a&gt;.
    Na mesma hora, baixei, instalei, usei e aprovei! Agora vou descrever minha tragetoria com esse plugin para que você também aprove este plugin.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Instalando o Plugin&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Atenção / Aviso / OBS:&#160;&lt;/b&gt; O plugin do Griffon esta em suas primeiras versões e conta com um grande problema: Ao configurar o Griffon, você perderá os recursos do Netbeans referenteas aplicações Grails. Ou
    seja, Griffon e Grails no mesmo Netbeans não rola. Se você desenvolver para os dois frameworks instale uma nova instancia do Netbeans para o Griffon deixando uma para cada. &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Para instalar o plugin você deverá ter o Netbeans 6.7 com o suporte Groovy instalado e habilitado. Se você baixou a versão Java ou a completa (Tudo) do Netbeans já terá o suporte ao Groovy. Caso não possua, você o deverá instalar antes do Plugin do Griffon. &lt;/p&gt;&lt;p&gt;&#160;
    &lt;br /&gt;&lt;/p&gt;&lt;p&gt;Para instalar o suporte ao Groovy acesse Ferramentas &gt;&gt; Plugins e depois na aba Plugins Disponiveis você seleciona o Groovy e clicar em Instalar. Se já estiver instalado e não ativo, você deverá ir na aba de Instalados, selecionar o Groovy e clicar em Ativar como mostra a Figura 1.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;a href="http://picasaweb.google.com/lh/photo/j-OmKu7Un5wSPsaW-N2NzQ?feat=embedwebsite"&gt;&lt;img
    src="http://lh5.ggpht.com/_4vI4LP6DY_g/SlXoZU7-IBI/AAAAAAAAAN0/cZJH5nMo9eo/s400/plugins_1.jpg" /&gt;&lt;/a&gt;&lt;p align="left"&gt;&lt;font size="1"&gt;Figura 1 - Ativando o Plugin&lt;/font&gt; &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Com o suporte ao Groovy habilitado passamos aos próximos passos, baixar, instalar, configurar e testar o plugin. &lt;/p&gt;&lt;ol&gt;&lt;li&gt;Faça o download do plugin &lt;a
    href="http://plugins.netbeans.org/PluginPortal/faces/PluginDetailPage.jsp?pluginid=18664" target="_blank"&gt;aqui&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Extraia o conteudo do arquivo baixado e terá 3 arquivos .nbm&lt;/li&gt;&lt;li&gt;Em Ferramentas &gt;&gt; Plugins na Aba Baixados &lt;br /&gt;&lt;/li&gt;&lt;ol&gt;&lt;li&gt;Click em Adicionar Plugins (Figura 2)&lt;/li&gt;&lt;li&gt;Selecione os arquivos extraidos (Figura 3)&lt;/li&gt;&lt;li&gt;Click no Botão Instalar (Figura
    2)&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;&lt;br /&gt;&lt;a href="http://picasaweb.google.com/lh/photo/PlzIMEourORiCl-_GPp03g?feat=embedwebsite"&gt;&lt;img src="http://lh4.ggpht.com/_4vI4LP6DY_g/SlXoZaRJYRI/AAAAAAAAAN4/EdwSsPvgv9E/s400/plugins_2.jpg" /&gt;&lt;/a&gt;&lt;p&gt;&#160;&lt;font size="1"&gt;Figura 2 - Adicionando Plugins Baixados&lt;/font&gt;&lt;/p&gt;&lt;a href="http://picasaweb.google.com/lh/photo/DW4qnOUmYL9D9JY5o9mjhQ?feat=embedwebsite"&gt;&lt;img
    src="http://lh3.ggpht.com/_4vI4LP6DY_g/SlXoZUHk3iI/AAAAAAAAAN8/bDnIzIWgZT0/s400/plugins_3.jpg" /&gt;&lt;/a&gt;&lt;p&gt;&#160;&lt;font size="1"&gt;Figura 3 - Selecionando Arquivos&lt;/font&gt; &lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Após instalado vamos configurar o plugin apontando o diretório onde o Griffon esta instalado. O meu post &lt;a href="http://www.softag.com.br/roller/adourado/entry/griffon_o_grails_para_aplicacoes"&gt;"Griffon: &lt;/a&gt;O Grails para Aplicacoes Swing/JavaFx" mostra como
    instalar o Griffon. Para isso a vá no menu Ferramentas &gt;&gt; Opções &gt;&gt; Miscelânea na aba Groovy e aponte o diretório o Griffon e do Grails nesta configuração. Não sei se é obrigatório configurar o Grails mas como eu não estava conseguindo gravar só com o Griffon (pode ser um Bug) e eu tinha o Grails instalado na minha maquina, então eu configurei o Grails também. Essa tela é ilustrada na Figura 4.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;a
    href="http://picasaweb.google.com/lh/photo/XFMR8hsYNHWOMdHlMLLrXg?feat=embedwebsite"&gt;&lt;img src="http://lh5.ggpht.com/_4vI4LP6DY_g/SlXoZhxZjuI/AAAAAAAAAOA/cSLHygEFp7M/s400/plugins_4.jpg" /&gt;&lt;/a&gt;&lt;p&gt;&#160;&lt;font size="1"&gt;Figura 4 - Configurando o caminho do Griffon&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Utilizando o Plugin&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Com tudo instalado e configurado, chegou a hora de colocar a mão na massa e
    começar a desenvolver Griffon utilizando os recursos do plugin.&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;A primeira coisa que vamos fazer é criar um novo projeto. Para isso você deverá seguir os mesmos passos de criação de qualquer projeto no Netbeans. &lt;/p&gt;&lt;ol&gt;&lt;li&gt;Menu Arquivo &gt;&gt; Novo Projeto&lt;/li&gt;&lt;li&gt;Seleciona a categoria &lt;b&gt;Groovy&lt;/b&gt; e o projeto &lt;b&gt;Griffon Application&lt;/b&gt; (Figura 5)&lt;b&gt;&lt;br
    /&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Escolhe o nome e o local da aplicação e finaliza. Neste passo existe uma forma de configurar o Griffon (Figura 6)&lt;/li&gt;&lt;li&gt;Projeto criado e listado na janela de Projetos (Figura 7)&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Obs.: Qualquer aplicação do Griffon, criada pelo plugin ou não pode ser aberta e usada pelo plugin.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;a
    href="http://picasaweb.google.com/lh/photo/jUdGLVBK30vQ8yhspyS3Dw?feat=embedwebsite"&gt;&lt;img src="http://lh6.ggpht.com/_4vI4LP6DY_g/SlXoZ3CB9AI/AAAAAAAAAOE/Rsb2jtW0Ldk/s400/plugins_5.jpg" /&gt;&lt;/a&gt;&lt;p&gt;&#160;&lt;font size="1"&gt;Figura 5 - Criando um novo projeto Griffon (parte 1)&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;a href="http://picasaweb.google.com/lh/photo/6fud9iNnQ-0gNnea4Wl3rw?feat=embedwebsite"&gt;&lt;img
    src="http://lh3.ggpht.com/_4vI4LP6DY_g/SlXojWhURDI/AAAAAAAAAOM/mAj2gKkSaVc/s400/plugins_6.jpg" /&gt;&lt;/a&gt;&lt;p&gt;&#160;&lt;font size="1"&gt;Figura 6 - Criando um novo projeto Griffon (parte 2)&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;a href="http://picasaweb.google.com/lh/photo/O8GDelby2XVZXfBwJtjN2g?feat=embedwebsite"&gt;&lt;img src="http://lh4.ggpht.com/_4vI4LP6DY_g/SlXojcs52DI/AAAAAAAAAOQ/6oJ6MatACjk/s800/plugins_7.jpg" /&gt;&lt;/a&gt;&lt;p&gt;&#160;&lt;font size="1"&gt;Figura 7 -
    Visualização do Projeto Criado&lt;/font&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Com o plugin, com apenas alguns clicks você poderá executar diversos comando Griffon. Ao clicar com o botão direito do mouse,&#160; você verá o meu da Figura 8 onde já disponibiliza diversas ações como: limpar, executar, atualizar, testar, compilar além de outras.&lt;/p&gt;&lt;p&gt;A ação selecionada na figura abaixo ("Run Griffon Command..."&lt;img
    src="http://www.softag.com.br/roller/images/smileys/wink.gif" alt=";)" class="smiley" title=";)" /&gt;&#160; ao ser chamada abre uma janela com todos os comandos da aplicação Griffon e dos plugins instalados na mesma (Figura 9). Ai é só selecionar o comando e clicar em "Run".&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;a href="http://picasaweb.google.com/lh/photo/fEqy1wrUzlMQNd2CzuwEkg?feat=embedwebsite"&gt;&lt;img
    src="http://lh4.ggpht.com/_4vI4LP6DY_g/SlXojiDgqmI/AAAAAAAAAOU/ZBwLo33Yw04/s800/plugins_8.jpg" /&gt;&lt;/a&gt;&lt;p&gt;&#160;&lt;font size="1"&gt;Figura 8 - Menu com opções para projetos Griffon&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&#160;&lt;a href="http://picasaweb.google.com/lh/photo/atHnFQ_8rFTw41Kathrzqw?feat=embedwebsite"&gt;&lt;img src="http://lh6.ggpht.com/_4vI4LP6DY_g/SlXokGm0lII/AAAAAAAAAOY/Bnhh28QPRSk/s400/plugins_9.jpg" /&gt;&lt;/a&gt;&lt;p&gt;&#160;&lt;font size="1"&gt;Figura 9 -
    Lista de comandos Griffon&lt;/font&gt; &lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;O plugin também mostra na area de output do Netbeans todas as saidas da aplicação como mostrado na Figura 10. &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;a href="http://picasaweb.google.com/lh/photo/6Ehv4kCE-F9fOmo6BM4rvw?feat=embedwebsite"&gt;&lt;img src="http://lh6.ggpht.com/_4vI4LP6DY_g/SlXokCmwT6I/AAAAAAAAAOc/w3qcxDJm6x8/s400/plugins_10.jpg" /&gt;&lt;/a&gt;&lt;p&gt;&lt;font size="1"&gt;Figura 10 - Aplicação
    Griffon com o seu Output &lt;/font&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Este post tem como objetivo instalar e mostrar o plugin de desenvolvimento Griffon para o Netbeans. Eu já estou usando este plugin para desenvolver a minhas aplicações e plugins e não tenho muito do que reclamar não apenas alguns detalhes que não chega a atrapalhar as minhas tarefas. &lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;</content:encoded>
    <dc:date>2009-07-15T12:17:47+00:00</dc:date>
  </item>
  <item rdf:about="http://www.softag.com.br/roller/adourado/entry/video_introducao_netbeans_6_7">
    <title>adourado: Video: introducao Netbeans 6.7</title>
    <link>http://www.softag.com.br/roller/adourado/entry/video_introducao_netbeans_6_7</link>
    <content:encoded>&lt;p&gt;Saiu no &lt;a href="http://www.netbeans.tv/" target="_blank"&gt;Nebeans.tv&lt;/a&gt; um video com uma compacta e muito útil introdução ao Netbeans 6.7. &lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Este vídeo não apresenta os novos recursos mais excitantes mas alguns recursos interessantes e desconhecido ate para os mais experientes na IDE. São eles: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Produtividade na edição de códigos
    Java;&lt;/li&gt;&lt;li&gt;Auto-Completar;&lt;/li&gt;&lt;li&gt;Erros;&lt;/li&gt;&lt;li&gt;Criando Configurações;&lt;/li&gt;&lt;li&gt;Histórico local de alterações;&lt;/li&gt;&lt;li&gt;e Refactoring.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Agora chega de papo.. &lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;div id="videoPlayer"&gt;&lt;/div&gt; &lt;p&gt;&#160;&lt;/p&gt;Assista e comente o vídeo diretamente no no site &lt;a
    href="http://www.netbeans.tv/screencasts/NetBeans-IDE-6.7-Introduction-464/" target="_blank"&gt;aqui&lt;/a&gt;. &lt;br /&gt;</content:encoded>
    <dc:date>2009-06-30T12:54:03+00:00</dc:date>
  </item>
  <item rdf:about="http://www.softag.com.br/roller/adourado/entry/netbeans_6_7_final_liberado">
    <title>adourado: Netbeans 6.7 Final Liberado para Download</title>
    <link>http://www.softag.com.br/roller/adourado/entry/netbeans_6_7_final_liberado</link>
    <content:encoded>&lt;p&gt;&#160;Após o último post meu sobre o lançamento do Netbeans 6.7 (&lt;a href="http://www.softag.com.br/roller/adourado/entry/netbeans_6_7_rc1_liberado"&gt;Netbeans 6.7 RC1 Liberado para Download&lt;/a&gt;) saiu duas novas versões Release Candidate em bem pouco tempo, a&#160; RC2 e RC3. Como o lançamento era quase identico, sem novidade alguma, deixei de blogar sobre elas pois sabia que a versão final estava a chegar ao final de junho.
    &lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;&lt;img src="http://webcast-west.sun.com/interactive/09D12520/09D12520_00_v0.jpg" align="baseline" border="0" vspace="0" hspace="0" /&gt;&#160;&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;E como prometido, a o pessoal do &lt;a href="http://www.softag.com.br/roller/adourado/pt_BR/feed/entries/www.netbeans.org" target="_blank"&gt;Netbeans.org&lt;/a&gt; liberou a versão final do Netbeans 6.7 dentro do prazo estabelecido. Esta versão conta com diversas novidades
    em relação a versão estável anterior (6.5.x). Principalmente relacionados a colaboração entre desevolvedores, permitindo a conexão nativa com os projetos &lt;a href="http://kenai.com/" target="_blank"&gt;Kenai&lt;/a&gt;, o &lt;a href="https://hudson.dev.java.net" target="_blank"&gt;Hudson&lt;/a&gt;. Segue a relação de recursos anunciados nesta versão:&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;NetBeans IDE 6.7 is integrated with Project Kenai, a collaborative environment for developers to
    host open-source projects. &lt;br /&gt;&lt;/li&gt;&lt;li&gt;The release also builds on the success of NetBeans 6.5 with native support for Maven; GlassFish, issue tracker and Hudson integrations;&lt;/li&gt;&lt;li&gt;and enhancements to Java, PHP, Ruby, Groovy and C/C++.&lt;/li&gt;&lt;li&gt;Highlights of the 6.7 release include support for JavaScript 1.7, Ruby Remote Debugging, &lt;br /&gt;&lt;/li&gt;&lt;li&gt;and integration of the Java ME SDK 3.0. &lt;br
    /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Para ver a demonstração destes recursos assista o screencast&#160; &lt;a href="http://webcast-west.sun.com/interactive/09D12520/index.html" target="_blank"&gt;NetBeans IDE 6.7 Overview&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt; Já baixei e já estou utilizando porem como já venho utilizando as versões beta e RC's não percebi grandes mudanças.&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Para saber mais da nova versão do Netbeans
    acesse:&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.softag.com.br/roller/adourado/entry/netbeans_6_7_beta_liberado"&gt;Netbeans 6.7 Beta Liberado para Download&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softag.com.br/roller/adourado/entry/netbeans_6_7_beta_liberado"&gt;&lt;/a&gt;&lt;a href="http://www.softag.com.br/roller/adourado/entry/a_proxima_versao_do_netbeans"&gt;A próxima versão do Netbeans&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a
    href="http://www.netbeans.org/community/releases/67/" target="_blank"&gt;http://www.netbeans.org/community/releases/67/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.netbeans.org/downloads/index.html" target="_blank"&gt;Download NetBeans IDE 6.7&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.netbeans.org/features/index.html" target="_blank"&gt;NetBeans IDE 6.7 Features&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.netbeans.org/kb/index.html" target="_blank"&gt;NetBeans
    IDE 6.7 Tutorials and Documentation&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.netbeans.org/kb/index.html" target="_blank"&gt;&lt;/a&gt;&lt;a href="http://www.netbeans.org/kb/docs/intro-screencasts.html" target="_blank"&gt;Videos of NetBeans IDE 6.7 in Action&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</content:encoded>
    <dc:date>2009-06-29T17:39:35+00:00</dc:date>
  </item>
  <item rdf:about="http://www.jroller.com/hmichel/entry/netbeans_6_7_fcs_released">
    <title>Michel Graciano's Weblog: NetBeans 6.7 FCS released</title>
    <link>http://www.jroller.com/hmichel/entry/netbeans_6_7_fcs_released</link>
    <content:encoded>&lt;p&gt;Now it is official, NetBeans 6.7 was just released. For details about this new version, take a look at &lt;a href="http://www.netbeans.org/community/releases/67/index.html" target="_blank"&gt;NetBeans 6.7&lt;/a&gt; release page.&lt;br /&gt; For this version an huge effort about stability and performance was made. I hope you enjoy this release and now it is time to think about 6.8 coming this year yet.&lt;/p&gt; &lt;p&gt;So, if you found any issue at this release please file an
    issue at &lt;a href="http://www.netbeans.org/issues/enter_bug.cgi" target="_blank"&gt;Issuezilla&lt;/a&gt; and help us to make NetBeans the only IDE you need.&lt;/p&gt; &lt;p&gt;Happy coding!&lt;/p&gt;</content:encoded>
    <dc:date>2009-06-29T14:05:21+00:00</dc:date>
  </item>
  <item rdf:about="http://www.go-java.com:80/blog/2009/06/29/1246281240000.html">
    <title>Controverso eu ? - NetBeans category: NetBeans 6.7 is out</title>
    <link>http://www.go-java.com:80/blog/2009/06/29/1246281240000.html</link>
    <content:encoded>&lt;p&gt;Rapaziada , Saiu o Netbeans 6.7 , estarei testando depois eu reporto uma analise... very good !&lt;/p&gt;</content:encoded>
    <dc:date>2009-06-29T13:14:00+00:00</dc:date>
  </item>
  <item rdf:about="http://www.jroller.com/hmichel/entry/netbeans_6_7_release_candidate1">
    <title>Michel Graciano's Weblog: NetBeans 6.7 Release Candidate 3 just released</title>
    <link>http://www.jroller.com/hmichel/entry/netbeans_6_7_release_candidate1</link>
    <content:encoded>&lt;p&gt;One more RC was just released by NetBeans team and the FCS is coming soon. For details about this new version, take a look at &lt;a href="http://www.netbeans.org/community/releases/67/index.html" target="_blank"&gt;NetBeans 6.7&lt;/a&gt; release page. So, if you found any issue at this RC release please file an issue at &lt;a href="http://www.netbeans.org/issues/enter_bug.cgi" target="_blank"&gt;Issuezilla&lt;/a&gt; and try to get it fixed as soon as possible.&lt;/p&gt;
    &lt;p&gt;Good tests!&lt;/p&gt;</content:encoded>
    <dc:date>2009-06-16T18:02:53+00:00</dc:date>
  </item>
  <item rdf:about="tag:blogger.com,1999:blog-544668644670311424.post-5625929637002105604">
    <title>NetFeijão Brazil: Lançado a versão final do NetBeans 6.0</title>
    <link>http://netfeijao.blogspot.com/2007/12/lanado-verso-final-do-netbeans-60.html</link>
    <content:encoded>Com quase um mês de atraso foi lançado oficialmente no dia 03/12/2007 a versão final do NetBeans 6.0, com várias melhorias, para aqueles que serem falaram mal do editor e da performance um recado.. Seus problemas acabaram !!&lt;br /&gt;As mudanças mais significativas foram no editor de texto do IDE, onde podemos destacar.&lt;br /&gt;* Code Completion Inteligente&lt;br /&gt;* Coloração Semântica&lt;br /&gt;* Refactoração Instantânea&lt;br /&gt;* Preview com antes - depois de
    alteração&lt;br /&gt;* Geração de código como sobrescrita de construtores, equals e hashCode&lt;br /&gt;* Suporte a várias linguagens como Java, Ruby, C/C++, XML, HTML, RHTML, JavaScript, e JSP.&lt;br /&gt;&lt;br /&gt;São muitas as novidades no novo IDE, não teria como destacar todas as novas funcs neste post, proponho a você desenvolvedor efetuar o download no site &lt;a href="http://netbeans.org/"&gt;netbeans.org&lt;/a&gt;, que agora vem disponível em várias opções de download (figura abaixo).&lt;br
    /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_6CJaDmsVepU/R1V4skAgKMI/AAAAAAAAAD8/lCP-y5AqGrU/s1600-h/nb1.JPG"&gt;&lt;img src="http://2.bp.blogspot.com/_6CJaDmsVepU/R1V4skAgKMI/AAAAAAAAAD8/lCP-y5AqGrU/s400/nb1.JPG" alt="" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" border="0" id="BLOGGER_PHOTO_ID_5140147256688650434" /&gt;&lt;/a&gt;&lt;br /&gt;e explore os tutoriais disponiveis no próprio site em &lt;span style="text-decoration:
    underline;"&gt;tutoriais.&lt;/span&gt;&lt;a href="http://www.netbeans.org/kb/"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ainda falando de NetBeans 6, a última edição da revista mundo java nº 26, foi publicada um artigo meu sobre as novas funcionalidades do NetBeans 6 com enfânse nas mudanças do editor e no desenvolvimento de aplicações Swing com as JSRs 295 e 296 (Beans Binding e Swing Application Framework) a revista ainda possui diversas máterias interessantes com foco em SOA.. sem dúvida uma ótima
    pedida..&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_6CJaDmsVepU/R1V96UAgKNI/AAAAAAAAAEE/gO3ifmiRDBk/s1600-h/revistanumero0026.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_6CJaDmsVepU/R1V96UAgKNI/AAAAAAAAAEE/gO3ifmiRDBk/s400/revistanumero0026.jpg" alt="" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" border="0" id="BLOGGER_PHOTO_ID_5140152990469990610" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img
    src="https://blogger.googleusercontent.com/tracker/544668644670311424-5625929637002105604?l=netfeijao.blogspot.com" alt="" height="1" width="1" /&gt;&lt;/div&gt;</content:encoded>
    <dc:date>2009-06-09T21:54:41+00:00</dc:date>
  </item>
  <item rdf:about="tag:blogger.com,1999:blog-544668644670311424.post-1092719613194854803">
    <title>NetFeijão Brazil: NetBeans Platform na Mundo Java nº 29</title>
    <link>http://netfeijao.blogspot.com/2008/05/netbeans-platform-na-mundo-java-n-29.html</link>
    <content:encoded>&lt;a href="http://3.bp.blogspot.com/_6CJaDmsVepU/SDOQ2D_B_lI/AAAAAAAAAPc/Bm_sGUa9_PU/s1600-h/mj29.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_6CJaDmsVepU/SDOQ2D_B_lI/AAAAAAAAAPc/Bm_sGUa9_PU/s400/mj29.jpg" alt="" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" border="0" id="BLOGGER_PHOTO_ID_5202661253000068690" /&gt;&lt;/a&gt;&lt;br /&gt;Este mês saiu nas bancas a revista Mundo Java nº29, um artigo meu sobre a plataforma NetBeans, expliquei as
    principais classes e funcionalidades, e no final apresentei um tutorial prático de como extender o NetBeans e criar poderosos plugins..&lt;br /&gt;Ainda nesta edição na seção "Eu uso" teve a participação mais que especial do Tim Boudreau, um dos engenheiros e pioneiro na criação das primeiras versões do IDE e do nosso querido Bruno Souza o JavaMan..&lt;br /&gt;Eu mesmo traduzi o artigo do Tim, espero que quem leu tenha gostado.&lt;br /&gt;Com a autorização do Tim, vou publicar o artigo dele na seção
    "Eu uso", claro, em inglês !!!&lt;br /&gt;&lt;blockquote&gt;I work on the NetBeans Platform. Probably the most gratifying thing about that work is to see how it is used - anybody who creates software wants to see it used - it is what gives our work meaning. In the simplest view, what the NetBeans Platform does is solve problems. I believe in writing software that can be finished. That is, you write something that is solid and right and works and then you can leave it alone and move on to the next
    problem. The modular nature of NetBeans - indeed, the module system itself - makes it easier to build software out of a lot of libraries each of which does one thing well - and guarantee system integrity at runtime. It solves the DLL hell problem for once and for all, and in the process creates design patterns that are ideal for distributed development - how do you build software created by a large community and minimize the risks that changes to one part of the system will break another? The core
    beauty of NetBeans is the module system.&lt;br /&gt;&lt;br /&gt;But what amazes me more is what people do on top of it. Let's take one case-in-point: Nokia. If you are a mobile service provider, such as Tim in Brazil (no relation :-)), and you buy your hardware from Nokia (your transmitters, the things that make a mobile phone network work), you will need some software to manage that network. If you are buying that hardware from Nokia, you get an application for managing your network. But it's not just
    one applications - it is many applications and one at the same time. They have used the NetBeans Platform plus Java WebStart technology together in an incredibly innovative way - and because Nokia contributed WebStart support to NetBeans, you can do the same thing for your applications.&lt;br /&gt;&lt;br /&gt;Java WebStart is a technology that lets you launch a Java desktop application by clicking a URL. Anybody who has installed Sun's Java has Java WebStart. It's not wildly popular yet, but it is an
    incredible technology for improving the experience people have with internet-based applications. Why? Because there is only one copy of the software. I once visited a company - actually a software development organization for a state in the U.S. They asked us: "Can you please release new versions less often? Every time you have a new version, some guy has to walk around with a CD-ROM and visit 350 workstations and install it!"&lt;br /&gt;&lt;br /&gt;That's crazy, and Java WebStart offers the solution.
    You click a URL and a desktop application starts - all the benefits of centralized management that you get from web applications, but it's a real desktop application. And when you download a new version, you don't download all the bits - only a diff between what was and what is. It's a darned cool technology.&lt;br /&gt;&lt;br /&gt;Now put that together with a modular system like NetBeans, where an application discovers its parts during startup.&lt;br /&gt;&lt;br /&gt;With Nokia's NetBeans-based
    software, it works like this: Imagine you work for a telecom in the mobile phone space. There are a lot of different jobs you might be doing: Some people monitor the network for problems. Some people dispatch physical repair trucks to go fix things. So, if you are using this software, well, you start it by clicking a link on the web. And to even see the link, you had to log in, so the system knows who you are and what you need.&lt;br /&gt;&lt;br /&gt;So what happens? You click the link. The server
    knows who you are and what your job is. The result is that you start up one application - but it is an application with many faces. The server gives you an application which contains those modules you need to do your job - it will be a different set of modules depending on what you do and what you need access to.&lt;br /&gt;&lt;br /&gt;Now think about what this does for the people who write this software! In a modular system, you usually do UI in one module and back-end logic in another. The result of
    all this is that the users have a better experience - they get a UI tailored for their job; and the developers get a better experience: 1. They can write back end logic once and share it for all possible cases, and 2. They don't have to write multiple applications that do variations on the same thing, and that saves a lot of time.&lt;br /&gt;&lt;br /&gt;Anybody who is doing a large-scale desktop application should consider the NetBeans Platform; anybody who is considering a suite of related programs
    that share some logic and diverge in UI would be insane not to consider using it.&lt;br /&gt;&lt;br /&gt;I am, of course, biased - I have worked on the NetBeans Platform. The criteria for people who could benefit from it are clear and hard to argue with:&lt;br /&gt;- Anybody doing a multi-window desktop application&lt;br /&gt;- Anybody writing a desktop application that needs to save state on shutdown&lt;br /&gt;- Anybody writing an application with a concept of selection that determines action
    enablement or similar&lt;br /&gt;- Particularly anybody writing several related applications that share some logic&lt;br /&gt;&lt;br /&gt;We've worked very hard to make it easy to try the NetBeans Platform for your application. If you fit, even remotely, into any of the categories above, you could save time, money and effort with it - give it a look.&lt;br /&gt;&lt;br /&gt;-Tim Boudreau, 16/12/07&lt;/blockquote&gt;&lt;br /&gt;Um agradecimento especial para o Bruno Souza por ter aceitado o convite, para
    o Tim Boudreau, para o Guapo e o Eduardo Guerra da Mundo Java que vem lutando para manter esta revista com um alto padrão, e claro para você leitor !!!&lt;br /&gt;&lt;br /&gt;Se você se interessa por aplicações desktop e tem interesse em saber como funciona a arquitetura por trás do IDE NetBeans, compre essa revista, além deste artigo você vai encontrar nesta edição os seguintes temas..&lt;br /&gt;&lt;a
    href="http://1.bp.blogspot.com/_6CJaDmsVepU/SDOREj_B_mI/AAAAAAAAAPk/lA2-AW8woEw/s1600-h/revistanumero0029.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_6CJaDmsVepU/SDOREj_B_mI/AAAAAAAAAPk/lA2-AW8woEw/s400/revistanumero0029.jpg" alt="" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" border="0" id="BLOGGER_PHOTO_ID_5202661502108171874" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="postbody"&gt; Desenvolvendo aplicações desktop ricas na Plataforma
    NetBeans. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="postbody"&gt; Animações 2D em JavaFX na prática. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="postbody"&gt; Binding, Componentes, Customizados e Template de Telas no SwingBeans 1.2. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="postbody"&gt; Click Framework. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="postbody"&gt; Acesso a Serviços Multimídia em Java ME com SIP-API e IMS. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span
    class="postbody"&gt; Tendências em foco: Java e o Mundo Web. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="postbody"&gt; RSS dinâmico, rápido e fácil com ROME e STRUTS 2 &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="postbody"&gt; Escolhendo uma ferramenta Case Gratuita para modelagem UML. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="postbody"&gt; Modelando Transações de Facade a AspectJ. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="postbody"&gt; De olho no mercado: Educação continuada
    de um Desenvolvedor &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="postbody"&gt; Mundo OO: O Ciclo Ágil de um Dia &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span class="postbody"&gt; E mais , você leva de graça um Poster Mundo Java: Resumão SCJP- Parte III&lt;br /&gt;&lt;br /&gt;Diversão Garantida !!!&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img src="https://blogger.googleusercontent.com/tracker/544668644670311424-1092719613194854803?l=netfeijao.blogspot.com" alt="" height="1"
    width="1" /&gt;&lt;/div&gt;</content:encoded>
    <dc:date>2009-06-09T21:53:59+00:00</dc:date>
  </item>
  <item rdf:about="tag:blogger.com,1999:blog-544668644670311424.post-7164900875747733790">
    <title>NetFeijão Brazil: O que podemos esperar do NetBeans 6.1 ?</title>
    <link>http://netfeijao.blogspot.com/2008/04/o-que-podemos-esperar-do-netbeans-61.html</link>
    <content:encoded>&lt;a href="http://4.bp.blogspot.com/_6CJaDmsVepU/SAjSPBRF9QI/AAAAAAAAANo/aM02H6zy1uQ/s1600-h/netbeans_rc1.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_6CJaDmsVepU/SAjSPBRF9QI/AAAAAAAAANo/aM02H6zy1uQ/s320/netbeans_rc1.jpg" alt="" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" border="0" id="BLOGGER_PHOTO_ID_5190629726024496386" /&gt;&lt;/a&gt;&lt;br /&gt;Foi lançado recentemente o Release Candidate 1 do novo NetBeans 6.1, ao terminar e instalação,
    a primeira coisa que pude observar foi o aumento extraordinário de performance em comparação com a versão 6.0, esta aproximadamente 40% mais rápido em performance..&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; Desempenho&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Abaixo segue dois prints mostrando o gerenciador de tarefas com o consumo do NetBeans 6.0 (203.736 K) e o NetBeans RC 1 (170.248 K), ainda o consumo é grande, mas com certeza já é uma grande melhoria.&lt;br /&gt;&lt;br /&gt;&lt;br
    /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_6CJaDmsVepU/SAjUMBRF9RI/AAAAAAAAANw/1A-gRnwZIeA/s1600-h/NB_6_0.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_6CJaDmsVepU/SAjUMBRF9RI/AAAAAAAAANw/1A-gRnwZIeA/s400/NB_6_0.jpg" alt="" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" border="0" id="BLOGGER_PHOTO_ID_5190631873508144402" /&gt;&lt;/a&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="font-weight: bold;"&gt;Consumo de
    memória no NetBeans 6.0&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_6CJaDmsVepU/SAjUkRRF9SI/AAAAAAAAAN4/5bVzpSPeQvU/s1600-h/NB_RC1.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_6CJaDmsVepU/SAjUkRRF9SI/AAAAAAAAAN4/5bVzpSPeQvU/s400/NB_RC1.jpg" alt="" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" border="0" id="BLOGGER_PHOTO_ID_5190632290119972130" /&gt;&lt;/a&gt;&lt;span
    style="font-size: 78%;"&gt;&lt;span style="font-weight: bold;"&gt;Consumo de memória no NetBeans 6.1 RC.1&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Entre as melhorias foram feitas diversas otimizações para redução do I/O e acesso ao disco, essa é a grande mágica que tornou a resposta muito mais rápida, principalmente em ambientes de rede. Foi alterado também o algoritmo para o parsing incremental no editor Java e JSP, aumentando a velocidade na resposta do
    auto completion, para este último foram feitas alteração no caching, gerenciamento de memória e nos algoritmos de alteração.&lt;br /&gt;Outro recurso que consumia muito recurso da máquina era o pacote Visual Web, quem baixar a nova versão&lt;br /&gt;irá notar uma grande diferença na abertura das páginas, menor consumo de memórias entre outras melhorias...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Biblioteca Compartilhada&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Outra novidade
    bacana são as novas bibliotecas compartilhadas, antes se eu tinha que compartilhar bibliotecas em um ambiente multi usuário, isso só seria possível se eu criasse um projeto NetBeans Platform e "amarrasse" a biblioteca que criei a um Java SE Library Descriptor, e distruibui-se como um nbm, mas como poucos conhecem as funcionalidades do NetBeans Platform, isso se tornou uma prática pouco comum, na nova versão para utilizar uma biblioteca compartilhada basta no momento da criação do projeto (web,
    enterprise, java desktop) utilizar a opção "Use Dedicated Folder for Storing Libraries" ao clicar nessa opção, o projeto irá incluir as libraries no classpath.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_6CJaDmsVepU/SAjOWxRF9II/AAAAAAAAAMo/N8cW-6iRDSo/s1600-h/SharedLibs.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_6CJaDmsVepU/SAjOWxRF9II/AAAAAAAAAMo/N8cW-6iRDSo/s320/SharedLibs.jpg" alt="" style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 282px; height: 195px;"
    border="0" id="BLOGGER_PHOTO_ID_5190625461121971330" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Para projetos antigos, é possível incluir as bibliotecas compartilhadas, para isso entre nas propriedades de um projeto, na categoria "Libraries" e clique no botão Browse... em Libraries Folder, basta escolher a pasta onde estão armazenadas as libs e clicar
    em Next, neste passo (Actions) é possível definir o comportamento das libs armazendas, podemos copiar as os arquivos jar para uma nova pasta de libraries (opção default), podemos utilizar o caminho relativo para os arquivos Jar, podemos utilizar o caminho absoluto para os arquivos Jar, ou utilizar a pasta selecionada mesmo.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_6CJaDmsVepU/SAjOqhRF9JI/AAAAAAAAAMw/sniS4f7YqEw/s1600-h/SharedLibs2.jpg"&gt;&lt;img
    src="http://2.bp.blogspot.com/_6CJaDmsVepU/SAjOqhRF9JI/AAAAAAAAAMw/sniS4f7YqEw/s320/SharedLibs2.jpg" alt="" style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 327px; height: 262px;" border="0" id="BLOGGER_PHOTO_ID_5190625800424387730" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a
    href="http://3.bp.blogspot.com/_6CJaDmsVepU/SAjO0xRF9KI/AAAAAAAAAM4/osWxVx8px3g/s1600-h/SharedLibs3.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_6CJaDmsVepU/SAjO0xRF9KI/AAAAAAAAAM4/osWxVx8px3g/s320/SharedLibs3.jpg" alt="" style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" border="0" id="BLOGGER_PHOTO_ID_5190625976518046882" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br
    /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;JavaDoc&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Outra boa novidade é o suporte as tags do JavaDoc, quem é que nunca tentou o auto complete em um comentário, pois bem , agora isso é possivel.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;a
    href="http://4.bp.blogspot.com/_6CJaDmsVepU/SAjPhBRF9LI/AAAAAAAAANA/EpPwdrT6xn0/s1600-h/javadoc2.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_6CJaDmsVepU/SAjPhBRF9LI/AAAAAAAAANA/EpPwdrT6xn0/s320/javadoc2.jpg" alt="" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" border="0" id="BLOGGER_PHOTO_ID_5190626736727258290" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="font-weight:
    bold;"&gt;AutoComplete em JavaDoc para classe&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_6CJaDmsVepU/SAjP8BRF9MI/AAAAAAAAANI/VYDPR3fvUis/s1600-h/javadoc.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_6CJaDmsVepU/SAjP8BRF9MI/AAAAAAAAANI/VYDPR3fvUis/s320/javadoc.jpg" alt="" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" border="0"
    id="BLOGGER_PHOTO_ID_5190627200583726274" /&gt;&lt;/a&gt; &lt;span style="font-size: 78%;"&gt;&lt;span style="font-weight: bold;"&gt;AutoComplete em JavaDoc para método.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Suporte ao MySQL&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Desde que a Sun comprou a MySQL o suporte a este banco de dados no NetBeans só vem aumentando, na versão 6.1 já existe uma infra pronta para o MySQL, se você já possui um
    servidor do MySQL instalado basta registrar o servidor acessando a tab services e clicar com o mouse em cima de Database, e selecionar a opção "Register MySQL Server"(foto abaixo),e preencher o formulário, perceba que é só indicar o caminho da ferramenta de administração do MySql, que é possível dentro do NetBeans abrir e acessar a ferramenta de adminstração, mais facilidades na criação de novos bancos, ...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a
    href="http://1.bp.blogspot.com/_6CJaDmsVepU/SAjQXRRF9NI/AAAAAAAAANQ/nyScoOi5ovM/s1600-h/MySQL.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_6CJaDmsVepU/SAjQXRRF9NI/AAAAAAAAANQ/nyScoOi5ovM/s320/MySQL.jpg" alt="" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" border="0" id="BLOGGER_PHOTO_ID_5190627668735161554" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a
    href="http://4.bp.blogspot.com/_6CJaDmsVepU/SAjQzBRF9OI/AAAAAAAAANY/g5dkDS0vJlg/s1600-h/MySQL2.jpg"&gt; &lt;img src="http://4.bp.blogspot.com/_6CJaDmsVepU/SAjQzBRF9OI/AAAAAAAAANY/g5dkDS0vJlg/s320/MySQL2.jpg" alt="" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" border="0" id="BLOGGER_PHOTO_ID_5190628145476531426" /&gt;&lt;/a&gt; &lt;span style="font-weight: bold; font-size: 78%;"&gt; Registrar um servidor existente e configuração de Admistrator
    Tool&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Editor de JavaScript&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Outra ótima novidade são as diversas melhorias no editor de JavaScript, na verdade, todos os beneficios do novo editor do NetBeans 6.0 / 6.1 foram implementados no editor JavaScript, ainda de quebra é disponibilizado a documentação baseada no arquivo javascript.. Perfeito !!&lt;br /&gt;&lt;br /&gt;&lt;a
    href="http://1.bp.blogspot.com/_6CJaDmsVepU/SAjRHRRF9PI/AAAAAAAAANg/lhNsIQvreDM/s1600-h/JavaScript.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_6CJaDmsVepU/SAjRHRRF9PI/AAAAAAAAANg/lhNsIQvreDM/s320/JavaScript.jpg" alt="" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" border="0" id="BLOGGER_PHOTO_ID_5190628493368882418" /&gt;&lt;/a&gt;&lt;br /&gt;Na nova versão ainda foram disponibilizadas diversas novidades como novos os componentes na biblioteca Ajax (WoodStock),
    melhorias em Ruby, e finalmente um Suporte ao framework Spring, entre outras novidades..&lt;br /&gt;&lt;br /&gt;Baixe a nova versão no site netbeans.org ..&lt;br /&gt;&lt;br /&gt;Esse post é para integrar o concurso de blog do NetBeans, no link &lt;a href="http://www.netbeans.org/competition/blog-contest.html"&gt;http://www.netbeans.org/competition/blog-contest.html&lt;/a&gt;&lt;br /&gt;&lt;a
    href="http://4.bp.blogspot.com/_6CJaDmsVepU/SBICXKH_FmI/AAAAAAAAAOE/qYw3-TnM0nA/s1600-h/61blog-contest-logo-trans.gif"&gt;&lt;img src="http://4.bp.blogspot.com/_6CJaDmsVepU/SBICXKH_FmI/AAAAAAAAAOE/qYw3-TnM0nA/s400/61blog-contest-logo-trans.gif" alt="" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" border="0" id="BLOGGER_PHOTO_ID_5193215917189699170" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Diversão Garantida !!!&lt;div class="blogger-post-footer"&gt;&lt;img
    src="https://blogger.googleusercontent.com/tracker/544668644670311424-7164900875747733790?l=netfeijao.blogspot.com" alt="" height="1" width="1" /&gt;&lt;/div&gt;</content:encoded>
    <dc:date>2009-06-09T21:48:45+00:00</dc:date>
  </item>
  <item rdf:about="tag:blogger.com,1999:blog-544668644670311424.post-32670099651378240">
    <title>NetFeijão Brazil: Diamond Powder for NetBeans</title>
    <link>http://netfeijao.blogspot.com/2009/03/diamond-powder-for-netbeans.html</link>
    <content:encoded>&lt;a href="http://diamond-powder.blogspot.com/"&gt;&lt;img src="http://2.bp.blogspot.com/_6CJaDmsVepU/ScfLGb7jmaI/AAAAAAAAAfg/oN059WR6vak/s400/DP.jpg" alt="" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 284px; height: 247px;" border="0" id="BLOGGER_PHOTO_ID_5316441196571367842" /&gt;&lt;/a&gt;Last year, i have created a NetBeans plugin to an interesting framework, called Diamond Powder, it was developed by a friend of mine, Renato Bellia
    .&lt;br /&gt;To explain what &lt;a href="https://diamond-powder.dev.java.net/"&gt;Diamond Powder&lt;/a&gt; is, i´ve extracted a briefly introduction from his blog,&lt;br /&gt;&lt;h4 style="background-color: rgb(153, 0, 0);"&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;What is it ?&lt;/span&gt;&lt;br /&gt;&lt;/h4&gt;&lt;p&gt;It's a Java ME framework to quickly build data collector forms. Further, it is able to manage the persistence of collected data into RMS records.&lt;/p&gt;&lt;h4
    style="background-color: rgb(153, 0, 0);"&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;Data Collector ?&lt;/span&gt;&lt;br /&gt;&lt;/h4&gt;&lt;p&gt;It is about user input. &lt;/p&gt;&lt;p&gt;Suppose you develop a MIDP application that helps car drivers to maintain records about fuel consume in his/her car: &lt;em&gt;The driver stops by at the gas station and gets his mobile device to take note about odometer value, supplied fuel amount , price of fuel, gas station name, and the current date. Later
    on the driver needs to recover such data.&lt;/em&gt; This is a data collector, and Diamond Powder can help you to do so. &lt;/p&gt;&lt;p&gt;Your MIDP application could go further, doing some math with such data, plotting charts, sending it over the internet and the like, but this is up to you.&lt;br /&gt;&lt;/p&gt;&lt;h4 style="background-color: rgb(153, 0, 0);"&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;How does it work ?&lt;/span&gt;&lt;br /&gt;&lt;/h4&gt;Read this step-by-step and the
    glossary bellow:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Define a Schema&lt;/li&gt;&lt;li&gt;Create a Collector suppling with a display, a schema and a flow name&lt;/li&gt;&lt;li&gt;Add regular LCDUI commands to the collector&lt;/li&gt;&lt;ol&gt;&lt;li&gt;at least an OK Command, and a BACK Command&lt;/li&gt;&lt;li&gt;other Commands can be provided&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;Swicht the MIDlet display to the Collector&lt;/li&gt;&lt;li&gt;At the end of Colletor´s job you may persist collected data
    with a StorageManager.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div style="font-weight: bold;" id="projecthome" class="app"&gt;Glossary: &lt;/div&gt;&lt;div id="projecthome" class="app"&gt;&lt;table align="left" style="border-color: rgb(153, 0, 0); border-width: 1px;" border="1" class="axial"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="background-color: rgb(153, 0, 0);"&gt;&lt;p&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;&lt;strong&gt;term&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td
    style="background-color: rgb(153, 0, 0);"&gt;&lt;p&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;&lt;strong&gt;definition &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Schema&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;A Hashtable that describes the data collector fields, and its organization. &lt;/p&gt;&lt;p&gt;A schema contains a name, a version number, and at least one Flow.&lt;br
    /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Flow&lt;/td&gt;&lt;td&gt;&lt;p&gt;A sequence pages that the application user can browse through.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Page&lt;/td&gt;&lt;td&gt;&lt;p&gt;A top level field container, to display to the user, as a data collector step.&lt;/p&gt;&lt;p&gt;Can be reused among flows.&lt;/p&gt;&lt;p&gt;Can be associated with a help screen. &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Field&lt;br
    /&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;Regular LCDUI items: StringItem, TextField, DateField, ChoiceGroup&lt;/p&gt;&lt;p&gt;+ Filter : a special component to deal with huge ChoiceGroups &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Collector&lt;/td&gt;&lt;td&gt;&lt;p&gt;A collector manages the display of a Flow of Pages, and gathers all user input.&lt;/p&gt;&lt;p&gt;It extends LCDUI Form. &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;StorageManager&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;It is
    the Diamond Powder persistence component. &lt;/p&gt;&lt;p&gt;It helps to preserve user input data gathered by a Collector into RMS records.&lt;/p&gt;&lt;p&gt;It also helps to restore a Collector with previously saved RMS records. &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div id="projecthome" class="app"&gt;&lt;p&gt; &lt;/p&gt;&lt;p style="font-weight: bold;"&gt;&lt;span style="font-size: 130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-weight:
    bold;"&gt;&lt;span style="font-size: 130%;"&gt;NetBeans Plugin&lt;/span&gt;&lt;/p&gt; Now, it´s time to talk about my collaboration in this project, if you get a look at this framework, you will realize that it simplifies a lot the development of a data collector on java me.&lt;br /&gt;&lt;br /&gt;On the other hand, the heart of the framework, the "Schema", as stated in the glossary, it is a Hashtable that describes the data collector fields, flow, name and version of your application. Let´s see on
    listing 1, a snippet of the schema code from the hello world example, extracted from diamond powder blog.&lt;br /&gt;&lt;blockquote&gt; public Hashtable getSchema() {&lt;br /&gt;Hashtable schema = new Hashtable();&lt;br /&gt;&lt;br /&gt;//schema declaration: name;version&lt;br /&gt;schema.put("schema", "fuelControl;2");&lt;br /&gt;//flow declaration: page1;page2;...&lt;br /&gt;schema.put("flow.basicRecord", "numbers;extra");&lt;br /&gt;//page declaration: title;field1;field2;...&lt;br
    /&gt;schema.put("page.numbers", "The Numbers;date;odometer;fuelAmount;fuelPrice");&lt;br /&gt;schema.put("page.extra", "Gas Station;gasStationName;gasStationBrand");&lt;br /&gt;//help for page: help text&lt;br /&gt;schema.put("help.numbers", "Enter the odometer mark, the supplied fuel amount and the fuel price");&lt;br /&gt;schema.put("help.extra", "Enter the gas station name and brand");&lt;br /&gt;&lt;br /&gt;//text field declaration: field type;label;size;mask&lt;br
    /&gt;schema.put("field.odometer","textfield;odometer;6;numeric");&lt;br /&gt;schema.put("field.fuelAmount","textfield;fuel amount;5;decimal");&lt;br /&gt;schema.put("field.fuelPrice","textfield;fuel price;5;decimal");&lt;br /&gt;// dateField;label;{date|time|date_time}"&lt;br /&gt;schema.put("field.date","datefield;when;date_time");&lt;br /&gt;schema.put("field.gasStationName","textfield;gas station;40;initial_caps_word");&lt;br /&gt;&lt;br /&gt;//choice gorup declaration: field type;label;list
    model;mode&lt;br /&gt;schema.put("field.gasStationBrand",&lt;br /&gt; "choicegroup;brand;allBrands;exclusive");&lt;br /&gt;//list model declaration: value1;label1;value2;label2;...&lt;br /&gt;schema.put("listmodel.allBrands",&lt;br /&gt; "999;undefined;1;Atlantic;2;Chevron;3;Esso;4;Texaco");&lt;br /&gt;&lt;br /&gt;return schema;&lt;br /&gt;}&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Listing 1:&lt;/span&gt; Schema method example.&lt;br /&gt;&lt;br /&gt;As you can see in the
    example, it can be a problem if you want a more complex application, as your schema evolves it can became inconvenient and error-prone, as you add more fields, or even new pages.&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;Diamond Powder for NetBeans it´s a plugin, that comes to fill this gap, and helps to create a Schema code, avoiding spelling error in variable names. Now let´s see how to install it.&lt;br /&gt;&lt;span
    style="font-weight: bold;"&gt;&lt;br /&gt;Download and Installation&lt;/span&gt;&lt;br /&gt;To install Diamond Powder for NetBeans, you can visit plugin Portal on NetBeans website, or you can download it directly from java.net site project. The easiest way to download it, is directly from NetBeans,&lt;br /&gt;To install DP from NetBeans, select "Tools &gt; Plugins", open the Setting category and click Add button, in Name field enter "Diamond Powder", and URL enter "&lt;a
    href="https://diamond-powder.dev.java.net/files/documents/9072/108868/updates.xml"&gt;https://diamond-powder.dev.java.net/files/documents/9072/108868/updates.xml&lt;/a&gt;", and click OK to create a new Update Center source.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_6CJaDmsVepU/Scf74G1FQyI/AAAAAAAAAfo/OtYhgQNW-Ww/s1600-h/Figure1.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_6CJaDmsVepU/Scf74G1FQyI/AAAAAAAAAfo/OtYhgQNW-Ww/s320/Figure1.jpg"
    alt="" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 246px;" border="0" id="BLOGGER_PHOTO_ID_5316494826458661666" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;Figure 1:&lt;/span&gt; Configuration of Update Centers.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Now, to install the plugin, select "Available Plugins" category and install the Diamond Powder plugin, during instalation it will generate a warning, stating that the module is not signed,
    but it´s ok..&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Generating the Schema&lt;/span&gt;&lt;br /&gt;There are two ways to create a schema, creating a new file, selecting "New File &gt; MIDP &gt; Diamond Powder - Schema Generator" from a Java ME Project, or you can invoke Diamond Powder wizard from the source code editor, selecting menu popup "Refactor &gt; Diamond Powder - Schema Generator"..&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a
    href="http://4.bp.blogspot.com/_6CJaDmsVepU/Scf8CcTNG-I/AAAAAAAAAfw/Iqyq04_97VI/s1600-h/Figure2.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_6CJaDmsVepU/Scf8CcTNG-I/AAAAAAAAAfw/Iqyq04_97VI/s320/Figure2.jpg" alt="" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 237px;" border="0" id="BLOGGER_PHOTO_ID_5316495004020841442" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;Figure 2:&lt;/span&gt; Creating a new Schema file&lt;br
    /&gt;&lt;/div&gt;&lt;br /&gt;Start by creating a Diamond Powder Schema file, as shown in Figure 3. Let´s create the schema defined in listing 1, so name the schema "fuelControl", set version 2 and click next to go the panel shown in Figure 4:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_6CJaDmsVepU/Scf8MZnGFMI/AAAAAAAAAf4/8JUUQrmhAI4/s1600-h/Figure3.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_6CJaDmsVepU/Scf8MZnGFMI/AAAAAAAAAf4/8JUUQrmhAI4/s320/Figure3.jpg"
    alt="" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 215px;" border="0" id="BLOGGER_PHOTO_ID_5316495175097652418" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;Figure 3: &lt;/span&gt;Naming the Schema file.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Here we can define our application fields, , let´s define the odometer, fuelAmount, fuelPrice, date, gasStationName and gasStationBrand. Note, that for gastStationBrand is a choicegroup field, to
    define our list values, click the Editor button, and create the list model defined in Figure 5.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_6CJaDmsVepU/Scf8Z2xm_0I/AAAAAAAAAgA/mWCGw2mWe3g/s1600-h/Figure4.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_6CJaDmsVepU/Scf8Z2xm_0I/AAAAAAAAAgA/mWCGw2mWe3g/s320/Figure4.jpg" alt="" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 242px;" border="0"
    id="BLOGGER_PHOTO_ID_5316495406264680258" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;Figure 4:&lt;/span&gt; Fields Configuration&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Enter "allBrands" to List Model and click New Button, to include a value to the allBrands list model, select it in the list and click Add button, to cancel an item just click cancel, and to finish it, close the window.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a
    href="http://3.bp.blogspot.com/_6CJaDmsVepU/Scf8i4H6ZEI/AAAAAAAAAgI/6U2eVnj4XiA/s1600-h/Figure5.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_6CJaDmsVepU/Scf8i4H6ZEI/AAAAAAAAAgI/6U2eVnj4XiA/s320/Figure5.jpg" alt="" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 260px;" border="0" id="BLOGGER_PHOTO_ID_5316495561245484098" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;Figure 5:&lt;/span&gt; List Model editor.&lt;br /&gt;&lt;/div&gt;&lt;br
    /&gt;In the Pages Configuration step, let´s create our pages number and extra adding the related fields and entering the properly information like page name, title and help, like Figure 6.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_6CJaDmsVepU/Scf8skdSAgI/AAAAAAAAAgQ/_5HW9aX-yoE/s1600-h/Figure6.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_6CJaDmsVepU/Scf8skdSAgI/AAAAAAAAAgQ/_5HW9aX-yoE/s320/Figure6.jpg" alt="" style="margin: 0px auto 10px;
    display: block; text-align: center; cursor: pointer; width: 320px; height: 251px;" border="0" id="BLOGGER_PHOTO_ID_5316495727765094914" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;Figure 6:&lt;/span&gt; Pages Configuration.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Click Next to our final step, now we going to define the sequence pages that our application will browse through. Enter basicRecord for Flow Name, and add the two pages created earlier (Figure 7).&lt;br /&gt;Check the "Save to
    File?" option and click browser, this option will persist all fields created to an user defined file.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_6CJaDmsVepU/Scf80wZkcJI/AAAAAAAAAgY/-7xoz1Z9NXE/s1600-h/Figure7.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_6CJaDmsVepU/Scf80wZkcJI/AAAAAAAAAgY/-7xoz1Z9NXE/s320/Figure7.jpg" alt="" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 245px;"
    border="0" id="BLOGGER_PHOTO_ID_5316495868409704594" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;Figure 7:&lt;/span&gt; Flow Definition.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Note: You can retrieve these values, loading the file in the Fields Configuration step (see Figure 4).&lt;br /&gt;&lt;br /&gt;Click Finish to generate the schema class. After generation, you should see the Java class, Schema, in the hello.schema package.&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br
    /&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-weight: bold;"&gt;References:&lt;/span&gt;&lt;br /&gt;Diamond Powder (java.net): &lt;a href="https://diamond-powder.dev.java.net/"&gt;https://diamond-powder.dev.java.net/&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;Diamond Powder Blog: &lt;a href="http://diamond-powder.blogspot.com/"&gt;http://diamond-powder.blogspot.com/&lt;/a&gt;&lt;br /&gt;NetBeans Plugin: &lt;a
    href="http://plugins.netbeans.org/PluginPortal/faces/PluginDetailPage.jsp?pluginid=17094"&gt;http://plugins.netbeans.org/PluginPortal/faces/PluginDetailPage.jsp?pluginid=17094&lt;/a&gt;&lt;br /&gt;NetBeans: &lt;a href="http://www.netbeans.org/"&gt;http://www.netbeans.org/&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;Try it !!&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div
    class="blogger-post-footer"&gt;&lt;img src="https://blogger.googleusercontent.com/tracker/544668644670311424-32670099651378240?l=netfeijao.blogspot.com" alt="" height="1" width="1" /&gt;&lt;/div&gt;</content:encoded>
    <dc:date>2009-06-09T21:45:50+00:00</dc:date>
  </item>
  <item rdf:about="http://www.jroller.com/hmichel/entry/help_us_to_make_netbeans">
    <title>Michel Graciano's Weblog: Help us to make NetBeans the only IDE you need...</title>
    <link>http://www.jroller.com/hmichel/entry/help_us_to_make_netbeans</link>
    <content:encoded>&lt;p&gt;As I blogged yesterday NetBeans 6.7 RC2 was just released and now is time to see how stable it is. My friend Jiri Kovalsky, NetBeans Technical Community Manager, asked community to fill the final survey about NetBeans 6.7 RC2 acceptance to make sure the IDE quality is acceptable for community. So, see below the entire message about it and help us to make NetBeans the only IDE you need.&lt;/p&gt; &lt;p&gt;Regards&lt;br /&gt; &lt;code&gt;&lt;br /&gt; Hello NetBeans
    community,&lt;/code&gt;&lt;/p&gt; &lt;p&gt; NetBeans 6.7 Release Candidate 2 has been released today and we believe it's the right time for the final Community Acceptance survey [1]. The essential purpose of this research is to find out if you - NetBeans community members - accept the latest RC build as ready for FCS or not.&lt;/p&gt; &lt;p&gt;[1] &lt;a href="http://qa.netbeans.org/processes/cat/67/ca_survey.html"
    target="_blank"&gt;http://qa.netbeans.org/processes/cat/67/ca_survey.html&lt;/a&gt;&lt;/p&gt; &lt;p&gt; Hence I would like to ask everyone who already used the RC2 (*) to login to netbeans.org site and take this short survey. It will be open until Thursday - June 18th midnight last timezone. In spite of that please complete the survey as soon as you gain a solid opinion about the RC2.&lt;/p&gt; &lt;p&gt;(*) Please don't judge RC1 in the survey. Take RC2 instead because it contains one significant
    performance improvement.&lt;/p&gt; &lt;p&gt;Thanks for your feedback,&lt;br /&gt; --&lt;br /&gt; Jiri Kovalsky&lt;br /&gt; NetBeans Technical Community Manager&lt;br /&gt; http://www.netbeans.org&lt;br /&gt; &lt;/p&gt;</content:encoded>
    <dc:date>2009-06-06T11:00:00+00:00</dc:date>
  </item>
  <item rdf:about="http://www.jroller.com/hmichel/entry/netbeans_6_7_release_candidate">
    <title>Michel Graciano's Weblog: NetBeans 6.7 Release Candidate 2 just released</title>
    <link>http://www.jroller.com/hmichel/entry/netbeans_6_7_release_candidate</link>
    <content:encoded>&lt;p&gt;We are almost there again... One more release is coming soon and the RC2 was just released. For details about this new version, take a look at &lt;a href="http://www.netbeans.org/community/releases/67/index.html" target="_blank"&gt;NetBeans 6.7&lt;/a&gt; release page. So, if you found any issue at this RC release please file an issue at &lt;a href="http://www.netbeans.org/issues/enter_bug.cgi" target="_blank"&gt;Issuezilla&lt;/a&gt; and try to get it fixed at RC3.&lt;/p&gt;
    &lt;p&gt;Good tests!&lt;/p&gt;</content:encoded>
    <dc:date>2009-06-05T18:16:52+00:00</dc:date>
  </item>
  <item rdf:about="http://www.softag.com.br/roller/adourado/entry/netbeans_6_7_rc1_liberado">
    <title>adourado: Netbeans 6.7 RC1 Liberado para Download</title>
    <link>http://www.softag.com.br/roller/adourado/entry/netbeans_6_7_rc1_liberado</link>
    <content:encoded>&lt;p&gt;A versão final do Netbeans 6.7 está cada vez mais próximo. Ontem saiu o primeiro release candidate da versão. Ou seja, o primeiro candidato a ser versão final.&#160;&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt; Já baixei e já estou utilizando porem não percebi grandes mudanças da versão Beta para RC1 apenas algumas correções.&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Pegando carona com o anúncio, segue o link para um tutorial ensinando a criar um projeto Kenai usando um dos
    grandes novos recursos do Netbeans 6.7. Veja aqui: &lt;a href="http://www.netbeans.org/kb/docs/ide/kenai-create-project.html" target="_blank"&gt;Creating a Kenai Project in NetBeans IDE 6.7 &lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Para saber mais da nova versão do Netbeans acesse:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.softag.com.br/roller/adourado/entry/netbeans_6_7_beta_liberado"&gt;Netbeans 6.7 Beta Liberado para
    Download&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softag.com.br/roller/adourado/entry/netbeans_6_7_beta_liberado"&gt;&lt;/a&gt;&lt;a href="http://www.softag.com.br/roller/adourado/entry/a_proxima_versao_do_netbeans"&gt;A próxima versão do Netbeans&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.netbeans.org/community/releases/67/" target="_blank"&gt;http://www.netbeans.org/community/releases/67/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a
    href="http://www.netbeans.org/servlets/NewsItemView?newsItemID=1386" target="_blank"&gt;http://www.netbeans.org/servlets/NewsItemView?newsItemID=1386&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wiki.netbeans.org/NewAndNoteWorthyNB67" target="_blank"&gt;NetBeans IDE 6.7 RC1 Features &amp;amp; Enhancements&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&#160;&lt;/p&gt;Para download: &lt;a href="http://download.netbeans.org/netbeans/6.7/rc/"
    target="_blank"&gt;http://download.netbeans.org/netbeans/6.7/rc/&lt;/a&gt;</content:encoded>
    <dc:date>2009-06-02T15:59:13+00:00</dc:date>
  </item>
  <item rdf:about="http://silveiraneto.net/?p=2581">
    <title>Silveira Neto » netbeans: JavaFX 1.1 for Linux workaround</title>
    <link>http://silveiraneto.net/2009/05/16/javafx-11-for-linux-workaround/</link>
    <content:encoded>&lt;p&gt;&lt;strong&gt;Download&lt;/strong&gt;&lt;/p&gt; &lt;blockquote&gt;&lt;p&gt;&lt;a href="http://silveiraneto.net/downloads/javafx4linux.tar.bz2" title="JavaFX for Linux"&gt;javafx4linux.tar.bz2&lt;/a&gt; (~ 36Mb).&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;strong&gt;Installing&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;1) Extract the javafx4linux.tar.bz2 file. In this example I’m placing it on my Desktop. After the installing process you can remove it.&lt;/p&gt; &lt;p style="text-align:
    center;"&gt;&lt;strong&gt;&lt;a href="http://silveiraneto.net/wp-content/uploads/2009/05/javafx_linux_ubuntu_extract.png"&gt;&lt;img src="http://silveiraneto.net/wp-content/uploads/2009/05/javafx_linux_ubuntu_extract-500x312.png" title="javafx linux ubuntu extract" height="312" width="500" alt="javafx linux ubuntu extract" class="size-medium wp-image-2593 aligncenter" /&gt;&lt;/a&gt;&lt;br /&gt; &lt;/strong&gt;&lt;/p&gt; &lt;p&gt;2) Open your NetBeans 6.5 and go at &lt;em&gt;Tools&lt;/em&gt; →
    &lt;em&gt;Plugins&lt;/em&gt; and go to &lt;em&gt;Downloaded&lt;/em&gt; tab. In a plain and new NetBeans installation there will be no plugin in this tab yet.&lt;/p&gt; &lt;p style="text-align: center;"&gt;&lt;strong&gt;&lt;a href="http://silveiraneto.net/wp-content/uploads/2009/05/netbeans_javafx_linux_step01.png"&gt;&lt;img src="http://silveiraneto.net/wp-content/uploads/2009/05/netbeans_javafx_linux_step01-500x312.png" title="netbeans javafx linux step01" height="312" width="500" alt="netbeans javafx
    linux step01" class="alignnone size-medium wp-image-2582" /&gt;&lt;/a&gt;&lt;br /&gt; &lt;/strong&gt;&lt;/p&gt; &lt;p style="text-align: center;"&gt;&lt;a href="http://silveiraneto.net/wp-content/uploads/2009/05/netbeans_javafx_linux_step02.png"&gt;&lt;img src="http://silveiraneto.net/wp-content/uploads/2009/05/netbeans_javafx_linux_step02-500x312.png" title="netbeans javafx linux step02" height="312" width="500" alt="netbeans javafx linux step02" class="size-medium wp-image-2583 aligncenter"
    /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p style="text-align: center;"&gt;&lt;a href="http://silveiraneto.net/wp-content/uploads/2009/05/netbeans_javafx_linux_step03.png"&gt;&lt;img src="http://silveiraneto.net/wp-content/uploads/2009/05/netbeans_javafx_linux_step03-500x312.png" title="netbeans javafx linux step03" height="312" width="500" alt="netbeans javafx linux step03" class="size-medium wp-image-2584 aligncenter" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;3) Click on the &lt;em&gt;Add Plugins&lt;/em&gt; button and
    head to the directory you extracted the file and select all .nbm files.&lt;/p&gt; &lt;p style="text-align: center;"&gt;&lt;a href="http://silveiraneto.net/wp-content/uploads/2009/05/netbeans_javafx_linux_step04.png"&gt;&lt;img src="http://silveiraneto.net/wp-content/uploads/2009/05/netbeans_javafx_linux_step04-500x312.png" title="netbeans javafx linux step 04" height="312" width="500" alt="netbeans javafx linux step 04" class="size-medium wp-image-2585 aligncenter" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;4)
    You will see a list of 22 plugins selected. Click on the &lt;em&gt;Install&lt;/em&gt; button.&lt;/p&gt; &lt;p style="text-align: center;"&gt;&lt;a href="http://silveiraneto.net/wp-content/uploads/2009/05/netbeans_javafx_linux_step05.png"&gt;&lt;img src="http://silveiraneto.net/wp-content/uploads/2009/05/netbeans_javafx_linux_step05-500x312.png" title="netbeans javafx linux step 05" height="312" width="500" alt="netbeans javafx linux step 05" class="size-medium wp-image-2586 aligncenter"
    /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;5) Just keep clicking on the &lt;em&gt;Next&lt;/em&gt; button.&lt;/p&gt; &lt;p style="text-align: center;"&gt;&lt;a href="http://silveiraneto.net/wp-content/uploads/2009/05/netbeans_javafx_linux_step06.png"&gt;&lt;img src="http://silveiraneto.net/wp-content/uploads/2009/05/netbeans_javafx_linux_step06-500x312.png" title="netbeans javafx linux step 6" height="312" width="500" alt="netbeans javafx linux step 6" class="size-medium wp-image-2587 aligncenter"
    /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;6) Check the license agreement accept box.&lt;/p&gt; &lt;p style="text-align: center;"&gt;&lt;a href="http://silveiraneto.net/wp-content/uploads/2009/05/netbeans_javafx_linux_step07.png"&gt;&lt;img src="http://silveiraneto.net/wp-content/uploads/2009/05/netbeans_javafx_linux_step07-500x312.png" title="netbeans javafx linux step 7" height="312" width="500" alt="netbeans javafx linux step 7" class="size-medium wp-image-2588 aligncenter" /&gt;&lt;/a&gt;&lt;/p&gt;
    &lt;p&gt;7) You’ll see a warning because the Linux pluggin is not signed. Don’t worry, just click &lt;em&gt;Continue&lt;/em&gt;.&lt;/p&gt; &lt;p style="text-align: center;"&gt;&lt;a href="http://silveiraneto.net/wp-content/uploads/2009/05/netbeans_javafx_linux_step08.png"&gt;&lt;img src="http://silveiraneto.net/wp-content/uploads/2009/05/netbeans_javafx_linux_step08-500x312.png" title="netbeans javafx linux step 8" height="312" width="500" alt="netbeans javafx linux step 8" class="size-medium
    wp-image-2589 aligncenter" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt; &lt;img src="http://silveiraneto.net/wp-includes/images/smilies/icon_cool.gif" alt="8)" class="wp-smiley" /&gt; Click on Finish to restart NetBeans.&lt;/p&gt; &lt;p style="text-align: center;"&gt;&lt;a href="http://silveiraneto.net/wp-content/uploads/2009/05/netbeans_javafx_linux_step09.png"&gt;&lt;img src="http://silveiraneto.net/wp-content/uploads/2009/05/netbeans_javafx_linux_step09-500x312.png" title="netbeans javafx linux step 9"
    height="312" width="500" alt="netbeans javafx linux step 9" class="size-medium wp-image-2590 aligncenter" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;9) Now we can test it. Go at &lt;em&gt;File&lt;/em&gt; → &lt;em&gt;New Project&lt;/em&gt;, select the JavaFX on &lt;em&gt;Categories&lt;/em&gt; and &lt;em&gt;JavaFX Script Application&lt;/em&gt; on Projects.&lt;/p&gt; &lt;p style="text-align: center;"&gt;&lt;a href="http://silveiraneto.net/wp-content/uploads/2009/05/netbeans_javafx_linux_step10.png"&gt;&lt;img
    src="http://silveiraneto.net/wp-content/uploads/2009/05/netbeans_javafx_linux_step10-500x312.png" title="netbeans javafx linux step 10" height="312" width="500" alt="netbeans javafx linux step 10" class="alignnone size-medium wp-image-2591" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;10) Put some code and run it. There is. JavaFX on Linux.&lt;/p&gt; &lt;p style="text-align: center;"&gt;&lt;a href="http://silveiraneto.net/wp-content/uploads/2009/05/netbeans_javafx_linux_step11.png"&gt;&lt;img
    src="http://silveiraneto.net/wp-content/uploads/2009/05/netbeans_javafx_linux_step11-500x312.png" title="netbeans javafx linux step 11" height="312" width="500" alt="netbeans javafx linux step 11" class="size-medium wp-image-2592 aligncenter" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Considerations&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;This is not a official of JavaFX for Linux! This solution was tested on Ubuntu 9.04 “Jaunty Jackalope” with Java 6 update 13 and NetBeans 6.5.1, but should also work
    with others Linux distributions and Java versions greater than 5.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Known bugs&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;As a non official workaround for JavaFX for Linux you may notice some drawbacks. Some parts of the JavaFX runtime rely on native implementations on the specific operational system. You may not use some multimedia capabilities as video playback, JavaFX Mobile emulator and some performance issues in some effects. Despite that, is perfectly possible to develop
    applications using JavaFX on NetBeans.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Thanks&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;I’d like to thanks some guys around the world. &lt;a href="http://www.weiqigao.com/blog/2008/12/04/using_javafx_1_0_on_linux.html"&gt;Weiqi Gao’s original post on JavaFX on Linux&lt;/a&gt;, &lt;a href="http://java.dzone.com/tips/javafx-11-linux-netbeans"&gt;HuaSong Liu article on DZone&lt;/a&gt; and &lt;a
    href="http://java-javafx-iipt.blogspot.com/2009/03/javafx-111-netbeans-651-on-linux.html"&gt;Kaesar Alnijres post&lt;/a&gt;.&lt;/p&gt;</content:encoded>
    <dc:date>2009-05-16T11:53:15+00:00</dc:date>
  </item>
  <item rdf:about="http://www.softag.com.br/roller/adourado/entry/netbeans_6_7_beta_liberado">
    <title>adourado: Netbeans 6.7 Beta Liberado para Download</title>
    <link>http://www.softag.com.br/roller/adourado/entry/netbeans_6_7_beta_liberado</link>
    <content:encoded>&lt;p&gt;Foi lançado a alguns dias a versão beta do Netbeans 6.7. &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Já falei um pouco dessa versão em "&lt;a href="http://www.softag.com.br/roller/adourado/entry/a_proxima_versao_do_netbeans"&gt;A próxima versão do Netbeans&lt;/a&gt;". Mas como de costume está cheia de novidades e melhorias. Mas para mim, o grande destaque é a integração com serviços/sistemas on-line como o Kenai e o Bugzilla. &lt;br
    /&gt;&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Outra coisa que me chamou bastante atenção foi os recursos relacionados Ruby on Rails e Grails. E como começei a fazer alguns estudos neles percebi bastante as melhorias feitas nesta nova versão.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Para mais detalhes do lançamento visite:&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.netbeans.org/community/releases/67/"
    target="_blank"&gt;http://www.netbeans.org/community/releases/67/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.netbeans.org/servlets/NewsItemView?newsItemID=1374" target="_blank"&gt;http://www.netbeans.org/servlets/NewsItemView?newsItemID=1374&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javafree.org/noticia/3893/NetBeans-IDE-67.html" target="_blank"&gt;http://www.javafree.org/noticia/3893/NetBeans-IDE-67.html&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Para
    download: &lt;a href="http://download.netbeans.org/netbeans/6.7/beta/" target="_blank"&gt;http://download.netbeans.org/netbeans/6.7/beta/&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;</content:encoded>
    <dc:date>2009-05-11T16:49:21+00:00</dc:date>
  </item>
  <item rdf:about="http://www.softag.com.br/roller/adourado/entry/lancado_nova_versao_do_plugin">
    <title>adourado: Lancado nova versao do plugin ZK para Netbeans REM</title>
    <link>http://www.softag.com.br/roller/adourado/entry/lancado_nova_versao_do_plugin</link>
    <content:encoded>&lt;p&gt;O desenvolvimento do REM, plugin de desenvolvimento ZK para Netbeans, esta muito ativo e em pouco tempo depois do lançamento da versão 2.0.3 lançam a nova versão 3.0.1. &lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;As novidades desta versão que merecem destaque:&#160;&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;ol&gt;&lt;li&gt; Melhorias no editor ZUL e de sua paleta de componentes;&lt;/li&gt;&lt;li&gt;Versão do ZK atualizada e funcionando tanto no Netbeans 6.5 quanto no Netbeans
    6.7;&lt;/li&gt;&lt;li&gt;Melhorias nos templates de projetos;&lt;/li&gt;&lt;li&gt;E muitos outros recursos.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Baixe &lt;a href="http://sourceforge.net/project/showfiles.php?group_id=188922&amp;amp;package_id=317879&amp;amp;release_id=674757" target="_blank"&gt;aqui &lt;/a&gt;e agilize o desenvolvimento de suas aplicações ZK. &lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Para maiores informações veja o &lt;a
    href="http://sourceforge.net/forum/forum.php?forum_id=940142" target="_blank"&gt;anuncio oficial&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;</content:encoded>
    <dc:date>2009-04-13T13:08:48+00:00</dc:date>
  </item>
  <item rdf:about="http://www.paulocanedo.com.br/?p=97">
    <title>Paulo Canedo » NetBeans pt_BR: NetBeans dicas(1) – netbeans.conf</title>
    <link>http://www.paulocanedo.com.br/2009/04/08/netbeans-dicas1-netbeansconf/</link>
    <content:encoded>&lt;p&gt;O NetBeans possui um arquivo que serve para definir algumas configurações, como por exemplo tamanho de fonte, opções da JVM, diretório do usuário, definir um lookandfeel, etc. Esse arquivo chama-se netbeans.conf e pode estar em dois diretórios diferentes:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;na pasta $NB_INSTALL/etc/netbeans.conf que indica configurações para qualquer usuário, configuração global&lt;/li&gt; &lt;li&gt;na pasta $USER_DIR/etc/netbeans.conf que indica configurações para
    o usuário atual do sistema&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;O arquivo netbeans.conf possui as seguintes entradas:&lt;/p&gt; &lt;dl&gt; &lt;dt&gt;&lt;strong&gt;netbeans_default_userdir&lt;/strong&gt;&lt;/dt&gt; &lt;dd&gt; Local onde se indica a variável userdir (Só funciona para configuração global, motivo óbvil, rs..)&lt;/dd&gt; &lt;/dl&gt; &lt;dl&gt; &lt;dt&gt;&lt;strong&gt;netbeans_default_options&lt;/strong&gt;&lt;/dt&gt; &lt;dd&gt; Pode-se passar qualquer parâmetro para a JVM, como por exemplo:
    configurações de memória, opções de depurador, tamanho da fonte (–font-size), &lt;a href="http://www.paulocanedo.com.br/2009/02/03/aplicando-o-nimbus-look-and-feel-no-netbeans/" title="Veja um exemplo aqui"&gt;look and feel&lt;/a&gt;, etc.&lt;/dd&gt; &lt;/dl&gt; &lt;dl&gt; &lt;dt&gt;&lt;strong&gt;netbeans_jdkhome&lt;/strong&gt;&lt;/dt&gt; &lt;dd&gt; Local onde o NetBeans vai buscar o JDK padrão.&lt;/dd&gt; &lt;/dl&gt; &lt;dl&gt; &lt;dt&gt;&lt;strong&gt;netbeans_extraclusters&lt;/strong&gt;&lt;/dt&gt;
    &lt;dd&gt; Clusters adicionais para que o NetBeans possa utilizar.&lt;/dd&gt; &lt;/dl&gt; &lt;p&gt;Exemplo de uma entrada modificada:&lt;br /&gt; &lt;strong&gt;netbeans_default_options&lt;/strong&gt;=”-J-Dorg.glassfish.v3.installRoot=\”/home/paulocanedo/Programas/glassfish-v3-prelude\” -J-Dcom.sun.aas.installRoot=\”/home/paulocanedo/Programas/glassfish-v2ur2\” -J-client -J-Xverify:none -J-Xss2m &lt;strong&gt;-J-Xms128m&lt;/strong&gt; &lt;strong&gt;-J-XX:PermSize=64m&lt;/strong&gt;
    &lt;strong&gt;-J-XX:MaxPermSize=1000m&lt;/strong&gt; -J-Dapple.laf.useScreenMenuBar=true -J-Dsun.java2d.noddraw=true &lt;strong&gt;–laf Nimbus&lt;/strong&gt;”&lt;/p&gt; &lt;p&gt;Este exemplo basicamente altera o lookandfeel para o Nimbus e faz algumas modificações nas configurações de memória da JVM.&lt;/p&gt; &lt;h2&gt;Referências:&lt;/h2&gt; &lt;p&gt;&lt;a href="http://wiki.netbeans.org/FaqNetbeansConf" title="Faq NetBeans
    Conf"&gt;&amp;lt;http://wiki.netbeans.org/FaqNetbeansConf&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://docs.sun.com/source/817-2180-10/pt_chap5.html"&gt;&amp;lt;http://docs.sun.com/source/817-2180-10/pt_chap5.html&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded>
    <dc:date>2009-04-08T17:00:50+00:00</dc:date>
  </item>
  <item rdf:about="http://www.softag.com.br/roller/adourado/entry/ganhe_ate_25_000_dolares">
    <title>adourado: Ganhe ate 25,000 dolares criando aplicacoes JavaFX com o Netbeans 6.5</title>
    <link>http://www.softag.com.br/roller/adourado/entry/ganhe_ate_25_000_dolares</link>
    <content:encoded>&lt;p&gt; Se você é um desenvolvedor profissional ou estudante, chegou a hora de faturar uma graninha extra desenvolvendo aplicações JavaFx 1.1 com o Netbeans 6.5 na nova competição de códigos &lt;a href="http://www.javafx.com/challenge/" target="_blank"&gt;JavaFX Coding Challenge&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Baixe o JavaFX 1.1, use seu talento e criatividade para projetar e desenvolver uma aplicação JavaFX vencedora e ganhar
    $25.000.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;Não é obrigatório o uso do Netbeans, mas porque não utilizar o Netbeans 6.5 para desenvolver a aplicação? O Netbeans 6.5 é a ferramenta recomendada para criar, testar, depurar e implantar aplicações JavaFX. Pense nisso, eu recomendo!! &lt;img src="http://www.softag.com.br/roller/images/smileys/smile.gif" alt=":)" class="smiley" title=":)" /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;Tenha pressa e se inscreva já, a competição teve início no dia 23
    de março e você poderá enviar seu projeto até 29 de maio de 2009. O jugamento será feito no mês de Junho e o seu resultado divulgado no dia 29 de Junho.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Além dos $ 25.000 para a aplicação vencedora, existem outras premiações:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;O segundo lugar ganhará $ 10.000;&lt;/li&gt;&lt;li&gt;O terceiro lugar ganhará $ 5.000;&lt;/li&gt;&lt;li&gt;E caso você seja estudante, os três primeiros lugares ganharão
    $1.500.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Para inscrição e mais detalhes acesso &lt;a href="http://www.javafx.com/challenge/" target="_blank"&gt;aqui&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;</content:encoded>
    <dc:date>2009-04-06T12:28:58+00:00</dc:date>
  </item>
  <item rdf:about="tag:blogger.com,1999:blog-544668644670311424.post-3315938033137076055">
    <title>NetFeijão Brazil: CodeGen - hashCode() e equals(Object) no Netbeans 5.5.1</title>
    <link>http://netfeijao.blogspot.com/2007/09/codegen-hashcode-e-equalsobject-no.html</link>
    <content:encoded>Só agora que na nova versão do NetBeans 6.0 é que é possível na IDE criar os métodos equals() e hashCode(Object), o que na verdade é uma mão na roda para muitos desenvolvedores, encontrei alguns desenvolvedores como Vinicius Senger da Globalcode e Jefferson Prestes do time de tradução que me disserem que abriam o eclipse apenas para utilizar o recurso de criação destes métodos....&lt;br /&gt;Pensando nisso, como fazia um tempo que não mexia na &lt;a
    href="http://platform.netbeans.org/"&gt;plataforma netBeans&lt;/a&gt;, decidi criar um plugin para a comunidade e de quebra relembrar as APIs da plataforma.&lt;br /&gt;E o plugin faz justamente isto, gera os métodos equals e hashCode baseados nos campos da classe que esta em foco no editor, o método criar os métodos respeitando o contrato de implementação.&lt;p&gt; Onde o contrato nos diz que para implementar uma relação equivalente em referencias de objetos não nulo o método:
    &lt;/p&gt;&lt;ul&gt;&lt;li&gt;É &lt;i&gt;reflexivo&lt;/i&gt;: para qualquer valor de referencia not null para &lt;code&gt;x&lt;/code&gt;, &lt;code&gt;x.equals(x)&lt;/code&gt; deve retornar &lt;code&gt;true&lt;/code&gt;. &lt;/li&gt;&lt;li&gt;É &lt;i&gt;simétrico&lt;/i&gt;: para qualquer valor de referencia not null para &lt;code&gt;x&lt;/code&gt; e &lt;code&gt;y&lt;/code&gt;, &lt;code&gt;x.equals(y)&lt;/code&gt; deve retornar &lt;code&gt;true&lt;/code&gt; se e somente se
    &lt;code&gt;y.equals(x)&lt;/code&gt; retornar &lt;code&gt;true&lt;/code&gt;. &lt;/li&gt;&lt;li&gt;É &lt;i&gt;transitivo&lt;/i&gt;: para qualquer valor de referencia not null para &lt;code&gt;x&lt;/code&gt;, &lt;code&gt;y&lt;/code&gt;, e &lt;code&gt;z&lt;/code&gt;, se &lt;code&gt;x.equals(y)&lt;/code&gt; retornar &lt;code&gt;true&lt;/code&gt; e &lt;code&gt;y.equals(z)&lt;/code&gt; retornar &lt;code&gt;true&lt;/code&gt;, então &lt;code&gt;x.equals(z)&lt;/code&gt; deve retornar
    &lt;code&gt;true&lt;/code&gt;. &lt;/li&gt;&lt;li&gt;É &lt;i&gt;consistent&lt;/i&gt;e: para qualquer valor de referencia not null para &lt;code&gt;x e&lt;/code&gt; &lt;code&gt;y&lt;/code&gt;, multiplas invocações de &lt;tt&gt;x.equals(y)&lt;/tt&gt; consistentemente retornarão &lt;code&gt;true&lt;/code&gt; ou consistentemente retornarão &lt;code&gt;false&lt;/code&gt;. &lt;/li&gt;&lt;li&gt;Para qualquer valor de referencia not null para &lt;code&gt;x&lt;/code&gt;, &lt;code&gt;x.equals(null)&lt;/code&gt;
    deve retonar &lt;code&gt;false&lt;/code&gt;. &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Como não poderia deixar de ser, temos que seguir um contrato para seguir&lt;code&gt; hashCode&lt;/code&gt; que é: &lt;ul&gt;&lt;li&gt;Sempre que for invocado no mesmo objeto mais de uma vez durante a execução de uma aplicação Java, o método &lt;tt&gt;hashCode&lt;/tt&gt; deve sempre retornar o mesmo integer. &lt;/li&gt;&lt;li&gt;Se dois objetos são iguais de acordo com a execução do método &lt;tt&gt;equals(Object)&lt;/tt&gt;,
    então chamar o método &lt;code&gt;hashCode&lt;/code&gt; em cada um dos dois objetos deve produzir o mesmo resultado inteiro. &lt;/li&gt;&lt;li&gt;Não é obrigado que se dois objetos são diferentes de acordo com a execução do método &lt;tt&gt;equals(Object) &lt;/tt&gt;que chamando o método &lt;tt&gt;hashCode&lt;/tt&gt; em cada um dos dois objetos deve produzir resultados inteiros distintos. Entretanto, o programador deve ter cautela, pois produzir resultados inteiros distintos para objetos diferentes
    podeve causar problemas de performance ao utilizar hashtables.&lt;/li&gt;&lt;/ul&gt; Essas são as regras para se implementar equals(Object) e hashCode(), além de seguir estas regras o plugin segue a espeficação de Joshua Bloch para a implementação destes métodos no livro Effective Java. Portanto talvez você pode achar a implementação bem similar a forma do eclipse produzir estes métodos.&lt;br /&gt;Segue abaixo alguns screenshots do plugin. O plugin esta internacionalizado, disponivel para inglês e
    português.&lt;br /&gt;Para instalar o plugin efetue o download do arquivo nbm no &lt;a href="http://plugins.netbeans.org/"&gt;portal de plugin do netbeans&lt;/a&gt; clicando &lt;a href="http://plugins.netbeans.org/PluginPortal/faces/PluginDetailPage.jsp;jsessionid=442da5c1824e23ffffffffa03783636289464?pluginid=3556"&gt;aqui&lt;/a&gt;.&lt;br /&gt;Após instalar o nbm espere enquanto o netBeans faz um "hot deploy", após a instalação, para utilizar o plugin, no editor de um arquivo java basta acessar o
    menu Refatorar &gt; Implementar hashCode() e equals(Object) ou clicando com o botão direito do mouse e acessando o menu pop up Refatorar &gt; Implementar hashCode() e equals(Object).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_6CJaDmsVepU/Rvr8piAeygI/AAAAAAAAACs/_FAot1ngARY/s1600-h/CodeGen2.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_6CJaDmsVepU/Rvr8piAeygI/AAAAAAAAACs/_FAot1ngARY/s400/CodeGen2.jpg" alt="" style="margin: 0px auto 10px; display: block; text-align: center; cursor:
    pointer;" border="0" id="BLOGGER_PHOTO_ID_5114678117266278914" /&gt;&lt;/a&gt; Após pressionar o botão será apresentado uma JDialog disponibilizando as fields que você deseja implementar nos métodos.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_6CJaDmsVepU/Rvr8BCAeyfI/AAAAAAAAACk/Co0COpQW51Y/s1600-h/CodeGen1.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_6CJaDmsVepU/Rvr8BCAeyfI/AAAAAAAAACk/Co0COpQW51Y/s400/CodeGen1.jpg" alt="" style="margin: 0px auto 10px; display: block; text-align:
    center; cursor: pointer;" border="0" id="BLOGGER_PHOTO_ID_5114677421481576946" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Após pressionar ok, pronto o código esta pronto =) ,, fácil não.. Eclipse para que ? hehe&lt;br /&gt;&lt;br /&gt;E ele até que é esperto, se você tentar criar os métodos em uma classe que já possui os métodos, o plugin dá mensagem.&lt;br /&gt;&lt;br /&gt;&lt;img src="file://C:/DOCUME%7E1/Beatnick/CONFIG%7E1/Temp/moz-screenshot.jpg" alt="" /&gt;&lt;a
    href="http://1.bp.blogspot.com/_6CJaDmsVepU/Rvr-kiAeyhI/AAAAAAAAAC0/OXuRt2QC8V4/s1600-h/CodeGen3.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_6CJaDmsVepU/Rvr-kiAeyhI/AAAAAAAAAC0/OXuRt2QC8V4/s400/CodeGen3.jpg" alt="" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" border="0" id="BLOGGER_PHOTO_ID_5114680230390188562" /&gt;&lt;/a&gt;&lt;br /&gt;Se sua classe tiver só a classe equals e quiser só o hashCode por exemplo, ele é bem compreensivo..&lt;br /&gt;&lt;a
    href="http://4.bp.blogspot.com/_6CJaDmsVepU/Rvr_TSAeyiI/AAAAAAAAAC8/fOdoZuZz-8o/s1600-h/CodeGen4.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_6CJaDmsVepU/Rvr_TSAeyiI/AAAAAAAAAC8/fOdoZuZz-8o/s400/CodeGen4.jpg" alt="" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" border="0" id="BLOGGER_PHOTO_ID_5114681033549072930" /&gt;&lt;/a&gt;&lt;br /&gt;Bom é isso, esse é um plugin bem simples, mas que ajuda muito no dia a dia.. peço aos meus queridos amigos que baixem este
    plugin e testem, se tiver dúvidas ou sugestões, é só avisar.&lt;div class="blogger-post-footer"&gt;&lt;img src="https://blogger.googleusercontent.com/tracker/544668644670311424-3315938033137076055?l=netfeijao.blogspot.com" alt="" height="1" width="1" /&gt;&lt;/div&gt;</content:encoded>
    <dc:date>2009-03-25T14:11:38+00:00</dc:date>
  </item>
  <item rdf:about="tag:blogger.com,1999:blog-544668644670311424.post-1665686851935257119">
    <title>NetFeijão Brazil: Yahoo! Hack Day 2008 Brasil - Bridging The Gap</title>
    <link>http://netfeijao.blogspot.com/2008/11/yahoo-hack-day-2008-bridging-gap.html</link>
    <content:encoded>&lt;a href="http://4.bp.blogspot.com/_6CJaDmsVepU/SRo529r8RTI/AAAAAAAAAdE/N-mFRg44-Fc/s1600-h/header_blog_brhackday.gif"&gt;&lt;img src="http://4.bp.blogspot.com/_6CJaDmsVepU/SRo529r8RTI/AAAAAAAAAdE/N-mFRg44-Fc/s400/header_blog_brhackday.gif" alt="" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 105px;" border="0" id="BLOGGER_PHOTO_ID_5267586330597803314" /&gt;&lt;/a&gt; In this weekend, we have celebrated the first Yahoo! Open
    Hack in Brazil, it was a great party in fact, the lunch was great, people were taking there time and having fun !!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_6CJaDmsVepU/SRpAMurn-xI/AAAAAAAAAdM/tlUPGvLtZ_M/s1600-h/yahoo+hack+day08-5.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_6CJaDmsVepU/SRpAMurn-xI/AAAAAAAAAdM/tlUPGvLtZ_M/s320/yahoo+hack+day08-5.jpg" alt="" style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 201px;" border="0"
    id="BLOGGER_PHOTO_ID_5267593301596830482" /&gt;&lt;/a&gt;I can consider myself a luck guy, i was invited to join the &lt;a href="http://www.globalcode.com.br/"&gt;Globalcode&lt;/a&gt; Team, with my friends Vinicius Senger, Yara Senger, Eder Magalhães, Rafael Nunes, Pedro Germano, and a couple of Globalcode classmates =) ..&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-size: 78%;"&gt;Caption: NetBeans plugin presentation&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br
    /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_6CJaDmsVepU/SRttUFyVpFI/AAAAAAAAAd8/g25c_3NZ0ZU/s1600-h/yahoo+hackday08-13.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_6CJaDmsVepU/SRttUFyVpFI/AAAAAAAAAd8/g25c_3NZ0ZU/s320/yahoo+hackday08-13.jpg" alt="" style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 206px;" border="0" id="BLOGGER_PHOTO_ID_5267924381058049106" /&gt;&lt;/a&gt;&lt;br /&gt;We have divided the work into team groups and as a result we have
    produced &lt;span style="font-weight: bold;"&gt;FOUR&lt;/span&gt; incredible hacks, yes man, i said four great hacks.. See below:&lt;br /&gt;---------------------------------------------&lt;br /&gt;&lt;ol style="text-align: justify;"&gt;&lt;li&gt;NetBeans Plugin for Yahoo! Blueprint&lt;/li&gt;&lt;li&gt;JSF Renderkit for Yahoo! Blueprint&lt;/li&gt;&lt;li&gt;Mobile Planning Poker for distributed Teams&lt;/li&gt;&lt;li&gt;Supercrud Mashup for Flickr&lt;/li&gt;&lt;/ol&gt;&lt;a
    href="http://3.bp.blogspot.com/_6CJaDmsVepU/SRts4yDKr-I/AAAAAAAAAd0/UN7Z7_MNQYU/s1600-h/yahoo+hackday+08-12.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_6CJaDmsVepU/SRts4yDKr-I/AAAAAAAAAd0/UN7Z7_MNQYU/s320/yahoo+hackday+08-12.jpg" alt="" style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px; height: 213px;" border="0" id="BLOGGER_PHOTO_ID_5267923911903457250" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.globalcode.com.br/"&gt;&lt;img
    src="http://2.bp.blogspot.com/_6CJaDmsVepU/SRtsLPyIQiI/AAAAAAAAAds/O5ssIEfuwu0/s320/global_code.jpg" alt="" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 171px; height: 93px;" border="0" id="BLOGGER_PHOTO_ID_5267923129611076130" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: right;"&gt;&lt;span style="font-weight: bold; font-size: 78%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Caption: Eder presenting the Planning poker
    mobile&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_6CJaDmsVepU/SRwTiA3j0PI/AAAAAAAAAeE/5nyKjZ0xmeQ/s1600-h/hackday8.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_6CJaDmsVepU/SRwTiA3j0PI/AAAAAAAAAeE/5nyKjZ0xmeQ/s320/hackday8.jpg" alt="" style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 252px; height: 190px;" border="0" id="BLOGGER_PHOTO_ID_5268107139186151666" /&gt;&lt;/a&gt;Obviously, my participation was related to the
    NetBeans plugin development =), it provides a template for Yahoo Blueprint Web Project, a sample application for Yahoo Blueprint, a JBlueprint librarie that encapsulates the Yahoo! Blueprint' API components (developed by Eder Magalhães), some Help Documents, an Update Center and the Developers Guide pdf file inside NetBeans.. =)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a
    href="http://2.bp.blogspot.com/_6CJaDmsVepU/SRpAseecOTI/AAAAAAAAAdU/RqJ433UjW58/s1600-h/yahoo-hackday08.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_6CJaDmsVepU/SRpAseecOTI/AAAAAAAAAdU/RqJ433UjW58/s400/yahoo-hackday08.jpg" alt="" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 266px;" border="0" id="BLOGGER_PHOTO_ID_5267593847002380594" /&gt;&lt;/a&gt;&lt;span style="font-size: 78%;"&gt;Caption: Award on "Bridging the Gap"
    Category&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Our subject wasn't the prize only, our real intention was to build something useful for Java Developers, and make the work with Yahoo APIs easier with the NetBeans plugin and JSF Renderkit, we are planning open the code on java.net soon and attract new developers to this great platform. so stay tunned for more details !!!&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a
    href="http://3.bp.blogspot.com/_6CJaDmsVepU/SRpBQctJB7I/AAAAAAAAAdc/jgAj78s3LXY/s1600-h/yahoohackday08-2.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_6CJaDmsVepU/SRpBQctJB7I/AAAAAAAAAdc/jgAj78s3LXY/s400/yahoohackday08-2.jpg" alt="" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 266px;" border="0" id="BLOGGER_PHOTO_ID_5267594465002457010" /&gt;&lt;/a&gt;&lt;span style="font-size: 78%;"&gt;Caption: Globalcode "Super" Team &lt;/span&gt;&lt;br
    /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_6CJaDmsVepU/SRpB0S71Y3I/AAAAAAAAAdk/KRkLJS-z8H0/s1600-h/yahoo+hackday-04jpg.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_6CJaDmsVepU/SRpB0S71Y3I/AAAAAAAAAdk/KRkLJS-z8H0/s400/yahoo+hackday-04jpg.jpg" alt="" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 266px;" border="0"
    id="BLOGGER_PHOTO_ID_5267595080855020402" /&gt;&lt;/a&gt;&lt;span style="font-size: 78%;"&gt;Caption: Globalcode Team and some friends from São Carlos&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;Congratulations for all the winners. It’s really amazing to see these great and wonderful work .. you are the best !!&lt;br /&gt;&lt;br /&gt;See more details at &lt;a href="http://developer.yahoo.net/blog/archives/2008/11/oi_open_hack_da.html"&gt;Yahoo! Developer Network
    blog by Chris Heilmann&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size: 78%;"&gt;Caption: NetBeans Plugin Presentation&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;One of the best moments, was the Puff Hacking Video,, see for yourself&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://vimeo.com/2199324"&gt;Puff Hacking&lt;/a&gt; from &lt;a href="http://vimeo.com/fcz"&gt;fczuardi&lt;/a&gt; on &lt;a
    href="http://vimeo.com/"&gt;Vimeo&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Cheers, and we see you again next year !!!!&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img src="https://blogger.googleusercontent.com/tracker/544668644670311424-1665686851935257119?l=netfeijao.blogspot.com" alt="" height="1" width="1" /&gt;&lt;/div&gt;</content:encoded>
    <dc:date>2009-03-25T14:10:30+00:00</dc:date>
  </item>
  <item rdf:about="http://www.softag.com.br/roller/adourado/entry/lancado_o_rem_2_0">
    <title>adourado: Lancado o REM 2.0.3 - IDE ZK para Netbeans</title>
    <link>http://www.softag.com.br/roller/adourado/entry/lancado_o_rem_2_0</link>
    <content:encoded>&lt;p&gt;&#160;A muito tempo venho acompanhado o framework ajax ZK e sua IDE ZK Studio para Eclipse aqui no blog. &lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Mas hoje venho postar o lançamento do &lt;a href="http://sourceforge.net/projects/rem1/" target="_blank"&gt;REM&lt;/a&gt; o plugin para desenvolvimento ZK com o Netbeans. Ele já foi comentado por alguns blog como é o caso do &lt;a href="http://javabahia.blogspot.com/" target="_blank"&gt;JavaBahia&lt;/a&gt; que postou alguns
    tutoriais explicando como utiliza-lo. &lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Atualmente o&#160; &lt;a href="http://sourceforge.net/projects/rem1/" target="_blank"&gt;REM&lt;/a&gt; esta na&lt;a href="http://sourceforge.net/forum/forum.php?forum_id=933392" target="_blank"&gt; versão 2.0.3&lt;/a&gt; e apesar de nsão esta como o ZK Studio ele já se propôs a fazer muita coisa. Entre elas:&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;ZUL editor agora com uma paleta de componentes onde você pode
    mover (drag) os componentes para o código;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Bibliotecas do ZK atualizada para a ultima versão 3.6.0;&lt;/li&gt;&lt;li&gt;Inclusão de dois templates de projetos;&lt;/li&gt;&lt;li&gt;E muitos outros recursos.&lt;br /&gt; &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Se você utiliza o Netbeans&#160; para desenvolvimento ( Parabéns! &lt;img src="http://www.softag.com.br/roller/images/smileys/smile.gif" alt=":)" class="smiley" title=":)" /&gt; ) agora você tem uma
    alternativa de qualidade para desenvolvimento ZK. &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Aproveitando o lançamento, segue a lista de alguns tutoriais feito pelo blog &lt;a href="http://javadude.wordpress.com/" target="_blank"&gt;javadude&lt;/a&gt; para você aprender como usar ZK com o Netbeans usando o REM.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://javadude.wordpress.com/2009/03/19/getting-started-with-zk-and-netbeans/" target="_blank"&gt;Getting started
    with ZK and Netbeans&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://javadude.wordpress.com/2009/03/21/tutorial-reading-from-the-db-with-netbeans-and-zk/" target="_blank"&gt;Tutorial: Reading from the DB with Netbeans and ZK&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://javadude.wordpress.com/2009/03/24/tutorial-reading-from-the-db-with-netbeans-and-zk-part-2/" target="_blank"&gt;Tutorial: Reading from the DB with Netbeans and ZK (Part 2)&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;
    &lt;/p&gt;</content:encoded>
    <dc:date>2009-03-25T10:49:00+00:00</dc:date>
  </item>
  <item rdf:about="http://www.softag.com.br/roller/adourado/entry/screencasts_de_exemplos_javafx_no">
    <title>adourado: Screencasts de Exemplos JavaFX no Netbeans</title>
    <link>http://www.softag.com.br/roller/adourado/entry/screencasts_de_exemplos_javafx_no</link>
    <content:encoded>&lt;p&gt;Saiu no &lt;a href="http://www.netbeans.tv/" target="_blank"&gt;Netbeans.tv&lt;/a&gt; 5 screencasts demonstrando o uso do JavaFX com o Netbeans através de exemplos. &lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;São eles: &lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.netbeans.tv/screencasts/Java-FX-Samples-%281%29%3A-Opening-Sample-Projects-444/" target="_blank"&gt;Set-Up&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a
    href="http://www.netbeans.tv/screencasts/Java-FX-Samples-(2)%3A-Video-Player-446/" target="_blank"&gt;JavaFX Sample Project: Simple Video Player&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.netbeans.tv/screencasts/Java-FX-Samples-(3)%3A-SpringBounce-Animation-447/" target="_blank"&gt;JavaFX Sample Project: Spring/Bounce Animation&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.netbeans.tv/screencasts/JavaFX-Samples-(4)%3A-Drag-and-Drop-445/" target="_blank"&gt;JavaFX Sample Project: Drag
    and Drop&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.netbeans.tv/screencasts/Java-FX-Samples-(5)%3A-Photo-Flip-448/" target="_blank"&gt;JavaFX Sample Project: Photo Flip&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Você também poderá acessar todos os vídeos em uma unica página &lt;a href="http://www.netbeans.org/kb/docs/java/javafx-sample-projects-screencasts.html" target="_blank"&gt;aqui&lt;/a&gt;. &lt;br /&gt;&lt;/p&gt;</content:encoded>
    <dc:date>2009-03-19T14:23:34+00:00</dc:date>
  </item>
  <item rdf:about="http://www.softag.com.br/roller/adourado/entry/liberado_netbeans_ide_6_5">
    <title>adourado: Liberado NetBeans IDE 6.5.1</title>
    <link>http://www.softag.com.br/roller/adourado/entry/liberado_netbeans_ide_6_5</link>
    <content:encoded>&lt;p&gt;O Netbeans Team liberou uma nova versão do Netbeans, a versão 6.5.1 que chega com algumas mudanças mesmo antes da versão 6.7 que esta planejada para junho de 2009 e já foi liberada para o &lt;a href="http://qa.netbeans.org/processes/cat/67"&gt;NetCAT 6.7&lt;/a&gt; program.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Esta atualização possui:&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Integração de todas as correções encontradas nos Patchs 1 (&lt;a
    href="http://www.softag.com.br/roller/adourado/entry/liberado_a_primeira_atualizacao_para"&gt;Liberado a primeira atualizacao para o NetBeans IDE 6.5&lt;/a&gt;) e 2 (&lt;a href="http://www.softag.com.br/roller/adourado/entry/patch2_for_netbeans_ide_6"&gt;Patch2 for NetBeans IDE 6.5 Now Available&lt;/a&gt;) da versão 6.5;&lt;/li&gt;&lt;li&gt;Substituição do GlassFish v2 UR2 pela versão GlassFish v2.1;&lt;/li&gt;&lt;li&gt;Outras correções.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;A atualização é bem
    simples, é só clicar no globo que aparece no canto inferior esquerdo da tela, na barra de status, ir na aba de atualização e&#160; confirmar seguir os passos da instalação. Caso não tenha aparecido um globo basta você ir no menu Ferramentas --&gt; Plugins. &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Ou baixar em&lt;b&gt; &lt;/b&gt;&lt;a href="http://www.netbeans.org/downloads/index.html" target="_blank"&gt;Download NetBeans 6.5.1&lt;/a&gt;&lt;b&gt;&lt;a
    href="http://www.netbeans.org/downloads/index.html" target="_blank"&gt;&lt;b&gt;.&lt;/b&gt;&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Veja mais em:&#160;&lt;/p&gt;&lt;ul&gt;&lt;li&gt; &lt;a href="http://www.netbeans.org/community/releases/65/1/index.html"&gt;NetBeans IDE 6.5.1 information page&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.netbeans.org/community/releases/65/1/relnotes.html" target="_blank"&gt;NetBeans IDE 6.5.1 Release
    Notes&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softag.com.br/roller/adourado/pt_BR/adourado/entry/liberado_a_primeira_atualizacao_para"&gt;Liberado a primeira atualizacao para o NetBeans IDE 6.5&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softag.com.br/roller/adourado/pt_BR/adourado/entry/patch2_for_netbeans_ide_6"&gt;Patch2 for NetBeans IDE 6.5 Now Available&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a
    href="http://www.softag.com.br/roller/adourado/pt_BR/adourado/entry/patch2_for_netbeans_ide_6"&gt;&lt;/a&gt; &lt;a href="http://www.netbeans.org/servlets/NewsItemView?newsItemID=1360" name="1360"&gt;Help us stabilize NetBeans 6.7 - join NetCAT!&lt;/a&gt;&lt;/li&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;/ul&gt;</content:encoded>
    <dc:date>2009-03-18T10:56:00+00:00</dc:date>
  </item>
  <item rdf:about="http://www.go-java.com:80/blog/2009/03/16/1237231020000.html">
    <title>Controverso eu ? - NetBeans category: NetBeans 6.5.1 Disponível para Download</title>
    <link>http://www.go-java.com:80/blog/2009/03/16/1237231020000.html</link>
    <content:encoded>Nova versão do netbeans 6.5 , na verdade é uma versão entupida de correções. Baixem via UPDATE CENTER ou pelo site do netbeans mesmo...&lt;br /&gt;</content:encoded>
    <dc:date>2009-03-16T19:17:00+00:00</dc:date>
  </item>
  <item rdf:about="http://www.softag.com.br/roller/adourado/entry/a_proxima_versao_do_netbeans">
    <title>adourado: A proxima versao do Netbeans</title>
    <link>http://www.softag.com.br/roller/adourado/entry/a_proxima_versao_do_netbeans</link>
    <content:encoded>&lt;p&gt;Apesar da próxima ter sido anunciada como a 7.0 com até a liberação de um milestone com essa versão, a próxima versão do Netbeans programada para Junho de 2009 não será 7.0 e sim 6.7.&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;A equipe do Netbeans minimiza a quantidade de lançamentos e preferem acumular novos recursos e melhorias fazendo poucos lançamentos com muitas novidades. Com isso eles tem a meta de fazer dois grandes lançamento por
    ano.&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;A próxima versão do Netbeans mantém uma grande compatibilidade com a versão atual (6.5) e por este motivo eles optaram em criar uma versão intermediaria entre o 6.5 e o 7.&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;O salto da versão 6.5 para 6.7 deve-ser a associação ao número do capeta / besta (666). Acredite, muitas pessoas acreditam que este número é de azar e com isso a equipe do Netbeans não queriam esse tipo de associação negativa a suas futuras
    versões 6.6...6. &lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Depois da mudança de número a nova versão encontra-se no segundo milestone e já pode ser baixado &lt;a href="http://bits.netbeans.org/download/6.7/m2/" target="_blank"&gt;aqui&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Umas das grandes novidades desta versão é integração com o Maven e o Kenai. Mas também merecem destaque:&lt;/p&gt;&lt;p&gt; &lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Melhoria no Desempenho&#160; ( "Ergonomic IDE"
    )&lt;/li&gt;&lt;li&gt;Reforço da Auto-Diagnóstico ( "Perfil Me Now!" ) &lt;br /&gt;&lt;/li&gt;&lt;li&gt;Melhorias no SVG em Mobility&lt;/li&gt;&lt;li&gt;Profiler&lt;/li&gt;&lt;li&gt;Melhorias para C++ - Matheus Lima publicou o post "&lt;a href="http://blogs.sun.com/matheus/entry/algumas_novidades_do_netbeans_6" target="_blank"&gt;Algumas novidades do NetBeans 6.7 C/C++&lt;/a&gt;" em seu blog.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Novo e melhorado Mac OS X
    Look-and-Feel&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Para maiores informações visite&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.netbeans.org/servlets/NewsItemView?newsItemID=1346" target="_blank"&gt;Message from the NetBeans Team: Why NetBeans 6.7?&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.netbeans.org/servlets/NewsItemView?newsItemID=1349" target="_blank"&gt;NetBeans 6.7 Milestone 2 Now Available for Download!&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a
    href="http://wiki.netbeans.org/NewAndNoteworthyMilestone2NB67" target="_blank"&gt;NetBeans IDE 6.7 Milestone 2 features and enhancements&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.sun.com/matheus/entry/algumas_novidades_do_netbeans_6" target="_blank"&gt;Algumas novidades do NetBeans 6.7 C/C++&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&#160;&lt;/p&gt;</content:encoded>
    <dc:date>2009-03-10T10:46:00+00:00</dc:date>
  </item>
  <item rdf:about="http://silveiraneto.net/?p=2344">
    <title>Silveira Neto » netbeans: Arduino and Java</title>
    <link>http://silveiraneto.net/2009/03/01/arduino-and-java/</link>
    <content:encoded>&lt;p style="text-align: center;"&gt;&lt;a href="http://silveiraneto.net/wp-content/uploads/2009/03/arduino.png"&gt;&lt;img src="http://silveiraneto.net/wp-content/uploads/2009/03/arduino.png" title="Arduino" height="316" width="559" alt="Arduino" class="size-full wp-image-2356 aligncenter" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://arduino.cc" title="Arduino Project"&gt;Arduino&lt;/a&gt; is a free popular platform for embedded programming based on a simple I/O board easily
    programmable. Interfacing it with Java allow us to create sophisticated interfaces and take advantages from the several API available in the Java ecosystem.&lt;/p&gt; &lt;p&gt;&lt;small&gt;I’m following the original &lt;a href="http://www.arduino.cc/playground/Interfacing/Java" title="Dave Brink"&gt;Arduino and Java interfacing tutorial by Dave Brink&lt;/a&gt; but in a more practical approach and with more details.&lt;/small&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Step 1) Install the Arduino
    IDE&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;This is not a completely mandatory step but it will easy a lot our work. Our program will borrow some &lt;a href="http://arduino.cc/en/Main/Software" title="Arduino Software"&gt;Arduino IDE&lt;/a&gt; libraries and configurations&#160; like which serial port it is using and at which &lt;a href="http://en.wikipedia.org/wiki/Baud" title="Boud Rate at Wikipedia"&gt;boud rate&lt;/a&gt;. At the moment I wrote this tutorial the version of Arduino IDE was 0013.&lt;/p&gt;
    &lt;p&gt;&lt;strong&gt;Step 2) Prepare your Arduino&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Connect your Arduino to the serial port in your computer. Here I’m connecting my Arduino with my laptop throught a USB.&lt;/p&gt; &lt;pre lang="C" style="text-align: center;"&gt;&lt;img src="http://farm4.static.flickr.com/3562/3321316792_993cbff274.jpg" alt="Arduino" /&gt;&lt;/pre&gt; &lt;p&gt;Make sure your Arduino IDE is configured and communicating well if your Arduino. Let put on it a little program that sends to
    us a mensage:&lt;/p&gt; &lt;div class="wp_syntax"&gt; &lt;div class="code"&gt; &lt;pre style="font-family: monospace;" class="c c"&gt;&lt;span style="color: #993333;"&gt;void&lt;/span&gt; setup&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt;&lt;span style="color: #009900;"&gt;{&lt;/span&gt; Serial.&lt;span style="color: #202020;"&gt;begin&lt;/span&gt;&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color:
    #0000dd;"&gt;9600&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt;; &lt;span style="color: #009900;"&gt;}&lt;/span&gt; &#160; &lt;span style="color: #993333;"&gt;void&lt;/span&gt; loop&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt;&lt;span style="color: #009900;"&gt;{&lt;/span&gt; Serial.&lt;span style="color: #202020;"&gt;println&lt;/span&gt;&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;"Is there
    anybody out there?"&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt;; delay&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #0000dd;"&gt;1000&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt;; &lt;span style="color: #009900;"&gt;}&lt;/span&gt;&lt;/pre&gt; &lt;/div&gt; &lt;/div&gt; &lt;p&gt;&lt;strong&gt;Step 3) Install RXTX Library&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;We will use some libraries to acess the serial port, some of them relies on binary
    implementations on our system. Our first step is to install the &lt;a href="http://www.rxtx.org/" title="RXTX"&gt;RXTX library&lt;/a&gt; (Java CommAPI) in your system. In a Debian like Linux you can do that by:&lt;/p&gt; &lt;blockquote&gt;&lt;p&gt;sudo apt-get install librxtx-java&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Or using a graphical package tool like Synaptic:&lt;/p&gt; &lt;p style="text-align: center;"&gt;&lt;a
    href="http://silveiraneto.net/wp-content/uploads/2009/03/arduino_java_netbeans_00.png"&gt;&lt;img src="http://silveiraneto.net/wp-content/uploads/2009/03/arduino_java_netbeans_00-500x296.png" title="installing rxtx" height="296" width="500" alt="installing rxtx" class="size-medium wp-image-2345 aligncenter" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;For others systems like Windows see the &lt;a href="http://rxtx.qbang.org/wiki/index.php/Installation" title="RXTX Install"&gt;RXTX installation
    docs&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Step 4) Start a new NetBeans project&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Again&lt;strong&gt;,&lt;/strong&gt; this is not a mandatory step but will easy a lot our work. &lt;a href="http://netbeans.org"&gt;NetBeans&lt;/a&gt; is a free and open source Java IDE that will help us to develop our little application. Create a new project at &lt;em&gt;File → New Project&lt;/em&gt; and choose at &lt;em&gt;Java&lt;/em&gt; at &lt;em&gt;Categories &lt;/em&gt;and
    &lt;em&gt;Java Application&lt;/em&gt; at &lt;em&gt;Projects&lt;/em&gt;.&lt;/p&gt; &lt;p style="text-align: center;"&gt;&lt;a href="http://silveiraneto.net/wp-content/uploads/2009/03/arduino_java_netbeans_01.png"&gt;&lt;img src="http://silveiraneto.net/wp-content/uploads/2009/03/arduino_java_netbeans_01-500x323.png" title="netbeans new project" height="323" width="500" alt="netbeans new project" class="size-medium wp-image-2346 aligncenter" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Chose a name for your
    project. I called mine &lt;em&gt;SerialTalker&lt;/em&gt;.&lt;/p&gt; &lt;p style="text-align: center;"&gt;&lt;a href="http://silveiraneto.net/wp-content/uploads/2009/03/arduino_java_netbeans_02.png"&gt;&lt;img src="http://silveiraneto.net/wp-content/uploads/2009/03/arduino_java_netbeans_02-500x314.png" title="name your project" height="314" width="500" alt="name your project" class="size-medium wp-image-2347 aligncenter" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;small&gt;At the moment I wrote this tutorial
    I was using Netbeans version 6.5 and Java 6 update 10 but should work as well on newer and some older versions&lt;/small&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Step 5) Adding Libraries and a Working Directory&lt;br /&gt; &lt;/strong&gt;&lt;/p&gt; &lt;p&gt;On NetBeans the &lt;em&gt;Projects&lt;/em&gt; tab, right-click your project and choose &lt;em&gt;Properties&lt;/em&gt;.&lt;/p&gt; &lt;p style="text-align: center;"&gt;&lt;a
    href="http://silveiraneto.net/wp-content/uploads/2009/03/arduino_java_netbeans_03.png"&gt;&lt;img src="http://silveiraneto.net/wp-content/uploads/2009/03/arduino_java_netbeans_03-500x283.png" title="libraries" height="283" width="500" alt="libraries" class="size-medium wp-image-2348 aligncenter" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;On the &lt;em&gt;Project Properties&lt;/em&gt; window select the &lt;em&gt;Libraries&lt;/em&gt; on the &lt;em&gt;Categories&lt;/em&gt; panel.&lt;/p&gt; &lt;p
    style="text-align: center;"&gt;&lt;a href="http://silveiraneto.net/wp-content/uploads/2009/03/arduino_java_netbeans_04.png"&gt;&lt;img src="http://silveiraneto.net/wp-content/uploads/2009/03/arduino_java_netbeans_04-499x340.png" title="Netbeans project libraries" height="340" width="499" alt="Netbeans project libraries" class="size-medium wp-image-2349 aligncenter" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Click the &lt;em&gt;Add JAR/Folder&lt;/em&gt; button.&lt;/p&gt; &lt;p style="text-align:
    center;"&gt;&lt;a href="http://silveiraneto.net/wp-content/uploads/2009/03/arduino_java_netbeans_05.png"&gt;&lt;img src="http://silveiraneto.net/wp-content/uploads/2009/03/arduino_java_netbeans_05-500x307.png" title="arduino directory" height="307" width="500" alt="arduino directory" class="size-medium wp-image-2350 aligncenter" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Find where you placed your Arduino IDE installation. Inside this directory there’s a lib directory will some JAR files. Select all them and
    click &lt;em&gt;Ok&lt;/em&gt;.&lt;/p&gt; &lt;p style="text-align: center;"&gt;&lt;a href="http://silveiraneto.net/wp-content/uploads/2009/03/arduino_java_netbeans_06.png"&gt;&lt;img src="http://silveiraneto.net/wp-content/uploads/2009/03/arduino_java_netbeans_06-500x307.png" title="jars libraries" height="307" width="500" alt="jars libraries" class="size-medium wp-image-2351" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;As we want to borrow the Arduino IDE configuration the program needs to know where is they
    configuration files.&#160; There’s a simple way to do that.&lt;/p&gt; &lt;p&gt;Still in the &lt;em&gt;Project Properties&lt;/em&gt; window select &lt;em&gt;Run&lt;/em&gt; at &lt;em&gt;Categories&lt;/em&gt; panel. At &lt;em&gt;Working Directory&lt;/em&gt; click in the &lt;em&gt;Browse&lt;/em&gt; button and select the directory of your Arduino IDE. Mine is at &lt;em&gt;/home/silveira/arduino-0013&lt;/em&gt;.&lt;/p&gt; &lt;p style="text-align: center;"&gt;&lt;a
    href="http://silveiraneto.net/wp-content/uploads/2009/03/arduino_java_netbeans_08.png"&gt;&lt;img src="http://silveiraneto.net/wp-content/uploads/2009/03/arduino_java_netbeans_08-499x340.png" title="Working directory" height="340" width="499" alt="Working directory" class="size-medium wp-image-2353 aligncenter" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;You can close now the &lt;em&gt;Project Properties&lt;/em&gt; window. At this moment in autocomplete for these libraries are enable in your code.&lt;/p&gt;
    &lt;p style="text-align: center;"&gt;&lt;a href="http://silveiraneto.net/wp-content/uploads/2009/03/arduino_java_netbeans_07.png"&gt;&lt;img src="http://silveiraneto.net/wp-content/uploads/2009/03/arduino_java_netbeans_07-500x283.png" title="netbeans autocomplete" height="283" width="500" alt="netbeans autocomplete" class="size-medium wp-image-2352 aligncenter" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Step 6) Codding and running&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Here is the code you can replace
    at Main.java in your project:&lt;/p&gt; &lt;div class="wp_syntax"&gt; &lt;div class="code"&gt; &lt;pre style="font-family: monospace;" class="c c"&gt;package serialtalk; &#160; import gnu.&lt;span style="color: #202020;"&gt;io&lt;/span&gt;.&lt;span style="color: #202020;"&gt;CommPortIdentifier&lt;/span&gt;; import gnu.&lt;span style="color: #202020;"&gt;io&lt;/span&gt;.&lt;span style="color: #202020;"&gt;SerialPort&lt;/span&gt;; import java.&lt;span style="color: #202020;"&gt;io&lt;/span&gt;.&lt;span
    style="color: #202020;"&gt;InputStream&lt;/span&gt;; import java.&lt;span style="color: #202020;"&gt;io&lt;/span&gt;.&lt;span style="color: #202020;"&gt;OutputStream&lt;/span&gt;; import processing.&lt;span style="color: #202020;"&gt;app&lt;/span&gt;.&lt;span style="color: #202020;"&gt;Preferences&lt;/span&gt;; &#160; public class Main &lt;span style="color: #009900;"&gt;{&lt;/span&gt; &lt;span style="color: #993333;"&gt;static&lt;/span&gt; InputStream input; &lt;span style="color:
    #993333;"&gt;static&lt;/span&gt; OutputStream output; &#160; public &lt;span style="color: #993333;"&gt;static&lt;/span&gt; &lt;span style="color: #993333;"&gt;void&lt;/span&gt; main&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #993333;"&gt;String&lt;/span&gt;&lt;span style="color: #009900;"&gt;[&lt;/span&gt;&lt;span style="color: #009900;"&gt;]&lt;/span&gt; args&lt;span style="color: #009900;"&gt;)&lt;/span&gt; throws Exception&lt;span style="color:
    #009900;"&gt;{&lt;/span&gt; Preferences.&lt;span style="color: #202020;"&gt;init&lt;/span&gt;&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt;; System.&lt;span style="color: #202020;"&gt;out&lt;/span&gt;.&lt;span style="color: #202020;"&gt;println&lt;/span&gt;&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;"Using port: "&lt;/span&gt; &lt;span style="color: #339933;"&gt;+&lt;/span&gt; Preferences.&lt;span
    style="color: #202020;"&gt;get&lt;/span&gt;&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;"serial.port"&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt;; CommPortIdentifier portId &lt;span style="color: #339933;"&gt;=&lt;/span&gt; CommPortIdentifier.&lt;span style="color: #202020;"&gt;getPortIdentifier&lt;/span&gt;&lt;span style="color: #009900;"&gt;(&lt;/span&gt; Preferences.&lt;span style="color:
    #202020;"&gt;get&lt;/span&gt;&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;"serial.port"&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt;; &#160; SerialPort port &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #009900;"&gt;(&lt;/span&gt;SerialPort&lt;span style="color: #009900;"&gt;)&lt;/span&gt;portId.&lt;span style="color: #202020;"&gt;open&lt;/span&gt;&lt;span
    style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;"serial talk"&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #0000dd;"&gt;4000&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt;; input &lt;span style="color: #339933;"&gt;=&lt;/span&gt; port.&lt;span style="color: #202020;"&gt;getInputStream&lt;/span&gt;&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt;; output &lt;span
    style="color: #339933;"&gt;=&lt;/span&gt; port.&lt;span style="color: #202020;"&gt;getOutputStream&lt;/span&gt;&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt;; port.&lt;span style="color: #202020;"&gt;setSerialPortParams&lt;/span&gt;&lt;span style="color: #009900;"&gt;(&lt;/span&gt;Preferences.&lt;span style="color: #202020;"&gt;getInteger&lt;/span&gt;&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color:
    #ff0000;"&gt;"serial.debug_rate"&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; SerialPort.&lt;span style="color: #202020;"&gt;DATABITS_8&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; SerialPort.&lt;span style="color: #202020;"&gt;STOPBITS_1&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; SerialPort.&lt;span style="color: #202020;"&gt;PARITY_NONE&lt;/span&gt;&lt;span style="color:
    #009900;"&gt;)&lt;/span&gt;; &lt;span style="color: #b1b100;"&gt;while&lt;/span&gt;&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;true&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt;&lt;span style="color: #009900;"&gt;{&lt;/span&gt; &lt;span style="color: #b1b100;"&gt;while&lt;/span&gt;&lt;span style="color: #009900;"&gt;(&lt;/span&gt;input.&lt;span style="color: #202020;"&gt;available&lt;/span&gt;&lt;span style="color:
    #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt;&lt;span style="color: #339933;"&gt;&gt;&lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt; &lt;span style="color: #009900;"&gt;{&lt;/span&gt; System.&lt;span style="color: #202020;"&gt;out&lt;/span&gt;.&lt;span style="color: #202020;"&gt;print&lt;/span&gt;&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span
    style="color: #993333;"&gt;char&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt;&lt;span style="color: #009900;"&gt;(&lt;/span&gt;input.&lt;span style="color: #202020;"&gt;read&lt;/span&gt;&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt;; &lt;span style="color: #009900;"&gt;}&lt;/span&gt; &lt;span style="color: #009900;"&gt;}&lt;/span&gt;
    &lt;span style="color: #009900;"&gt;}&lt;/span&gt; &lt;span style="color: #009900;"&gt;}&lt;/span&gt;&lt;/pre&gt; &lt;/div&gt; &lt;/div&gt; &lt;p&gt;Now just compile and run (with your Arduino attached in your serial port and running the program of step 2).&lt;/p&gt; &lt;p style="text-align: center;"&gt;&lt;a href="http://silveiraneto.net/wp-content/uploads/2009/03/arduino_java_netbeans_09.png"&gt;&lt;img src="http://silveiraneto.net/wp-content/uploads/2009/03/arduino_java_netbeans_09-500x283.png"
    title="voillá" height="283" width="500" alt="voillá" class="size-medium wp-image-2354 aligncenter" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;There is. Now you can make your Java programs to talk with your Arduino using a IDE like NetBeans to create rich interfaces.&lt;/p&gt;</content:encoded>
    <dc:date>2009-03-02T02:31:34+00:00</dc:date>
  </item>
  <item rdf:about="http://www.softag.com.br/roller/adourado/entry/eleja_o_novo_governador_do">
    <title>adourado: Eleja o novo governador do Netbeans</title>
    <link>http://www.softag.com.br/roller/adourado/entry/eleja_o_novo_governador_do</link>
    <content:encoded>&lt;p&gt;Esta no ar e já pode ser votada a eleição do governador Netbeans 2009. &lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Este ano estão participando: &lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Toni Epple &lt;/li&gt;&lt;li&gt;Ryan de Laplante &lt;/li&gt;&lt;li&gt;Fabrizio Giudici &lt;/li&gt;&lt;li&gt;Tonny Kohar &lt;/li&gt;&lt;li&gt;Kristian Rink &lt;/li&gt;&lt;li&gt;Tom Wheeler &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Para conhecer os
    candidatos acesse &lt;a href="http://www.netbeans.org/community/articles/election_profiles.html" target="_blank"&gt;aqui&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;A votação acaba a meia noite do dia 02 de março e o resultado será divulgado no dia 09 de março.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Para votar é bem simples, basta ter uma conta no &lt;a href="http://www.netbeans.org" target="_blank"&gt;netbeans.org&lt;/a&gt;, acessar a página &lt;a
    href="http://www.netbeans.org/community/articles/nbelections.html" target="_blank"&gt;NetBeans Governance Board Elections&lt;/a&gt; e escolher 3 candidatos. &lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Para saber mais acesse o &lt;a href="http://www.netbeans.org/servlets/NewsItemView?newsItemID=1343" target="_blank"&gt;anúncio oficial&lt;/a&gt;. &lt;br /&gt;&lt;/p&gt;</content:encoded>
    <dc:date>2009-02-17T17:49:32+00:00</dc:date>
  </item>
  <item rdf:about="http://www.softag.com.br/roller/adourado/entry/teste_comparativo_as_melhores_ides">
    <title>adourado: Teste comparativo das melhores IDEs PHP</title>
    <link>http://www.softag.com.br/roller/adourado/entry/teste_comparativo_as_melhores_ides</link>
    <content:encoded>&lt;div style="text-align: left;" id="result_box" dir="ltr"&gt;&lt;p&gt;O site &lt;a href="http://www.smashingmagazine.com/" target="_blank"&gt;www.smashingmagazine.com&lt;/a&gt; publicou um artigo de &lt;i&gt;&lt;a href="http://rmcreative.ru/" target="_blank"&gt;Alexander Makarov&lt;/a&gt;&#160; &lt;/i&gt;no qual ele faz um teste comparativo nas principais IDEs para PHP.&#160; &lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;E o Netbeans IDE 6.5 não poderia esta de fora. &lt;img
    src="http://www.softag.com.br/roller/images/smileys/smile.gif" alt=":)" class="smiley" title=":)" /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt; &lt;/p&gt;&lt;/div&gt; &lt;blockquote&gt;"Todo mundo quer ser mais produtivo, cometer menos erros e escrever bom código. Claro, que tudo depende de você, mas na maioria dos casos, ambientes de desenvolvimento integrado (IDEs) pode ajudá-lo a atingir esses objetivos mais facilmente. Infelizmente, escolher uma IDE é muito difícil, porque diversos fatores devem ser
    considerados. E em todos os sites se auto intitula a melhor IDE. &lt;br /&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Neste post, vamos ter um olhar mais atento sobre as mais populares PHP IDEs, explorando as suas funções, comparando-os em uma tabela e mostrar algumas conclusões. Esperançosamente, você vai ter uma idéia do que cada um PHP IDE tem para oferecer e que uma melhor se adapta às suas necessidades." &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt; &lt;/blockquote&gt;&lt;p&gt;&lt;img
    src="http://88.198.60.17/images/php-ide-test/ides_best.png" border="0" align="baseline" height="233" width="450" vspace="0" hspace="0" /&gt;&lt;/p&gt;&lt;p&gt;&#160; &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.smashingmagazine.com/2009/02/11/the-big-php-ides-test-why-use-oneand-which-to-choose/" target="_blank"&gt;Leia o artigo completo &lt;br /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded>
    <dc:date>2009-02-13T11:35:46+00:00</dc:date>
  </item>
  <item rdf:about="http://www.softag.com.br/roller/adourado/entry/javafx_sdk_1_1_now">
    <title>adourado: JavaFX SDK 1.1 Now Available and in NetBeans IDE 6.5!</title>
    <link>http://www.softag.com.br/roller/adourado/entry/javafx_sdk_1_1_now</link>
    <content:encoded>&lt;p&gt;O JavaFX SDK 1.1 acaba de ser liberado e esta versão traz as aplicações JavaFX para os dispositivos móveis. &lt;b&gt;E agora suporta oficialmente JavaFX mobile e inclui um emulador Mobile&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;O JavaFX foi construído em cima da plataforma Java Micro Edition (ME) na qual existem em mais de 2.6 bilhões de dispositivos móveis. E você poderá aproveitar seu conhecimento em JavaFX ou em Java ME para criar suas aplicações móveis.&lt;br /&gt;&lt;br
    /&gt;Use o Netbeans IDE como ambiente de desenvolvimento JavaFX para tornar-lo aida mais fácil.&lt;br /&gt;&lt;br /&gt;Baixe hoje mesmo o Netbeans IDE com JavaFX e a veja em ação.&#160; &lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.netbeans.org/downloads/index.html" target="_blank"&gt;Download NetBeans IDE for JavaFX 1.1&lt;/a&gt; &lt;/li&gt;&lt;li&gt;Se o Netbeans IDE 6.5 estiver instalada a atualização é bem simples. É só clicar no globo que aparece no canto inferior esquerdo da tela, na barra
    de status, ir na aba de atualização e&#160; confirmar seguir os passos da instalação. Caso não tenha aparecido um globo basta você ir no menu Ferramentas --&gt; Plugins.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&#160;Para mais informações:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.netbeans.org/servlets/NewsItemView?newsItemID=1341" target="_blank"&gt;Anúncio Oficial&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.netbeans.org/features/javafx" target="_blank"&gt;NetBeans IDE for JavaFX -
    Features&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wiki.netbeans.org/JavaFX" target="_blank"&gt;NetBeans IDE for JavaFX - Documentation&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://javafx.com/" target="_blank"&gt;Visit JavaFX.com for tutorials and sample applications&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</content:encoded>
    <dc:date>2009-02-12T16:12:22+00:00</dc:date>
  </item>
  <item rdf:about="http://www.softag.com.br/roller/adourado/entry/certificado_sun_certified_specialist_netbeans">
    <title>adourado: Certificado Sun Certified Specialist NetBeans IDE (SCSNI)</title>
    <link>http://www.softag.com.br/roller/adourado/entry/certificado_sun_certified_specialist_netbeans</link>
    <content:encoded>&lt;p&gt;Como já falei aqui &lt;a href="http://www.softag.com.br/roller/adourado/entry/agora_sou_sun_certified_specialist"&gt;Agora sou Sun Certified Specialist NetBeans IDE (SCSNI)&lt;/a&gt; e a pouco tempo chegou o certificado e o cartão da prova. &lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Veja abaixo: &lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.softag.com.br/roller/adourado/resource/netbeans/certificado.jpg" target="_blank"&gt;&lt;img
    src="http://www.softag.com.br/roller/adourado/resource/netbeans/certificado400.jpg" align="baseline" border="0" vspace="0" hspace="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.softag.com.br/roller/adourado/resource/netbeans/cartao.jpg" target="_blank"&gt;&lt;img src="http://www.softag.com.br/roller/adourado/resource/netbeans/cartao400.jpg" align="baseline" border="0" vspace="0" hspace="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;a&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;/a&gt;&lt;p&gt;Em breve coloco para
    vocês o certificado do &lt;a href="http://www.softag.com.br/roller/adourado/entry/sun_certified_programmer_for_the"&gt;Sun Certified Programmer for the Java Platform, Standard Edition 5.0 (SCJP 5.0)&lt;/a&gt;. &lt;br /&gt;&lt;/p&gt;</content:encoded>
    <dc:date>2009-02-10T11:22:52+00:00</dc:date>
  </item>
  <item rdf:about="http://www.softag.com.br/roller/adourado/entry/criando_aplicacoes_flex_com_netbeans">
    <title>adourado: Criando Aplicacoes Flex com NetBeans 6.5 e FlexBean</title>
    <link>http://www.softag.com.br/roller/adourado/entry/criando_aplicacoes_flex_com_netbeans</link>
    <content:encoded>&lt;p&gt;Procurando por novidades no &lt;a href="http://wiki.netbeans.org" target="_blank"&gt;Netbeans Wiki&lt;/a&gt; encontrei um tutorial ensinando a criar uma pequena aplicação exemplo feito em Flex e interagindo com um Servlet Java.&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Você pode ver o tutorial tanto no &lt;a href="http://wiki.netbeans.org/FlexApplicationsWithNetBeans" target="_blank"&gt;Netbeans Wiki&lt;/a&gt; quanto no &lt;a
    href="http://blog.jdevelop.eu/2009/01/30/create-flex-applications-with-netbeans-65-and-flexbean/%20" target="_blank"&gt;blog do autor&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content:encoded>
    <dc:date>2009-02-05T10:31:02+00:00</dc:date>
  </item>
  <item rdf:about="http://www.softag.com.br/roller/adourado/entry/wicket_framework_com_netbeans">
    <title>adourado: Wicket framework com Netbeans</title>
    <link>http://www.softag.com.br/roller/adourado/entry/wicket_framework_com_netbeans</link>
    <content:encoded>&lt;p&gt;Saiu no &lt;a href="http://www.netbeans.tv/" target="_blank"&gt;Netbeans.tv&lt;/a&gt; um novo screencast feito por &lt;a href="http://blogs.sun.com/geertjan/" target="_blank"&gt;Geertjan &lt;/a&gt;demonstrando o uso do Wicket framework com o Netbeans.&lt;/p&gt;&lt;p&gt;O vídeo introduz o Wicket framework e mostra como criar uma pequena aplicação no Netbeans IDE.&lt;/p&gt;&lt;br /&gt;&lt;p&gt; &lt;/p&gt;&lt;div id="videoPlayer"&gt;&lt;/div&gt; &lt;br
    /&gt;&lt;p&gt;&#160;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.netbeans.tv/screencasts/Dummy%27s-Guide-to-Wicket-438/" target="_blank"&gt;Assista o vídeo e veja os comentários do Netbeans.tv&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;</content:encoded>
    <dc:date>2009-01-30T13:47:45+00:00</dc:date>
  </item>
  <item rdf:about="http://www.go-java.com:80/blog/2009/01/30/1233311452712.html">
    <title>Controverso eu ? - NetBeans category: NetBeans 6.5 Patch 2</title>
    <link>http://www.go-java.com:80/blog/2009/01/30/1233311452712.html</link>
    <content:encoded>Foi lançado o Patch 2 do NetBeans 6.5&lt;br /&gt; &lt;br /&gt; Para atualizar você deve ir no menu Help na opção "Check for updates"&lt;br /&gt; &lt;br /&gt; Pronto... baixe e seja feliz :)&lt;br /&gt;</content:encoded>
    <dc:date>2009-01-30T10:30:52+00:00</dc:date>
  </item>
  <item rdf:about="http://www.softag.com.br/roller/adourado/entry/patch2_for_netbeans_ide_6">
    <title>adourado: Patch2 for NetBeans IDE 6.5 Now Available</title>
    <link>http://www.softag.com.br/roller/adourado/entry/patch2_for_netbeans_ide_6</link>
    <content:encoded>&lt;p&gt; Foi liberado no Update Center a segunda atualização (Patch 2 ) do Netbeans 6.5. &lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Esta atualização possui correções nos módulos: C/C++, Database, Editing Files, GlassFish v3 Prelude, Groovy and Grails, Hibernate Support, IDE Platform, Java, Java EE, Java Profiler, JBoss Application Server, Mercurial, Native Access, NetBeans 6.5, PHP, Platform, RESTful Web Services, Ruby and Rails, Subversion, UML, Visual Mobile Designer and Web
    Applications..&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;A atualização é bem simples, é só clicar no globo que aparece no canto inferior esquerdo da tela, na barra de status, ir na aba de atualização e&#160; confirmar seguir os passos da instalação. Caso não tenha aparecido um globo basta você ir no menu Ferramentas --&gt; Plugins.&lt;/p&gt;&lt;p&gt; &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.netbeans.org/servlets/NewsItemView?newsItemID=1337" target="_blank"&gt;Veja mais informações sobre
    as correções.&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Veja também: &lt;a href="http://www.softag.com.br/roller/adourado/entry/liberado_a_primeira_atualizacao_para"&gt;Liberado a primeira atualizacao para o NetBeans IDE 6.5&lt;/a&gt; .&lt;/p&gt;</content:encoded>
    <dc:date>2009-01-29T16:03:04+00:00</dc:date>
  </item>
  <item rdf:about="http://www.softag.com.br/roller/adourado/entry/hibernate_com_netbeans">
    <title>adourado: Hibernate com Netbeans</title>
    <link>http://www.softag.com.br/roller/adourado/entry/hibernate_com_netbeans</link>
    <content:encoded>&lt;p&gt;Saiu no &lt;a href="http://www.netbeans.tv/" target="_blank"&gt;Netbeans.tv&lt;/a&gt; um novo screencast feito por Alexander Neidhart demonstrando o uso do Hibernate com o Netbeans.&lt;/p&gt;&lt;p&gt;O vídeo mostra como conectar a uma banco de dados, fazer a reengenharia reversa para criar as classes java para o Hibernate e criar uma aplicação teste para fazer uma consulta no banco. Além de mostrar como executar consultas HQL no Netbeans usando o SQL Editor For Hibernate ou
    HQL Editor.&lt;/p&gt;&lt;div id="videoPlayer"&gt;&lt;/div&gt; &lt;p&gt;&lt;a href="http://www.netbeans.tv/community/Tutorial%3A-Hibernate-for-applications-435/" target="_blank"&gt;Assista o vídeo e veja os comentários do Netbeans.tv&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;</content:encoded>
    <dc:date>2009-01-21T18:41:47+00:00</dc:date>
  </item>
  <item rdf:about="http://www.softag.com.br/roller/adourado/entry/netbeans_produto_do_ano_2009">
    <title>adourado: Netbeans: Produto do ano 2009</title>
    <link>http://www.softag.com.br/roller/adourado/entry/netbeans_produto_do_ano_2009</link>
    <content:encoded>&lt;p&gt;Há alguns meses eu fiz campanha para ajudar a eleger o Netbeans como produto do ano de 2009 (&lt;a href="http://www.softag.com.br/roller/adourado/entry/ajude_a_eleger_o_netbeans"&gt;Ajude a eleger o Netbeans como Produto do Ano 2009&lt;/a&gt;) em uma pesquisa do site &lt;a href="http://developer.com/" target="_blank"&gt;Developer.com&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;&#160;Saiu o resultado e o Netbeans dominou e ganhou nas 5 categorias que
    disputou:&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;h3&gt;&lt;font size="-1" face="Verdana, Arial, Helvetica"&gt;Development Tool&lt;/font&gt;&lt;/h3&gt; &lt;p&gt;&lt;font size="-1" face="Verdana, Arial, Helvetica"&gt;&lt;b&gt;&lt;font color="#2554c7"&gt;Winner: NetBeans Platform&lt;/font&gt;&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;&lt;h3&gt;&lt;font size="-1" face="Verdana, Arial, Helvetica"&gt;Development Utilities&lt;/font&gt;&lt;/h3&gt; &lt;p&gt;&lt;font size="-1" face="Verdana, Arial,
    Helvetica"&gt;&lt;b&gt;&lt;font color="#2554c7"&gt;Winner: NetBeans Profiler&lt;/font&gt;&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;&lt;h3&gt;&lt;font size="-1" face="Verdana, Arial, Helvetica"&gt;Wireless/Mobile&lt;/font&gt;&lt;/h3&gt; &lt;p&gt;&lt;font size="-1" face="Verdana, Arial, Helvetica"&gt;&lt;b&gt;&lt;font color="#2554c7"&gt;Winner: NetBeans Mobility Pack for Connected Device Configuration (CDC) 5.5&lt;/font&gt;&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;&lt;h3&gt;&lt;font size="-1" face="Verdana, Arial,
    Helvetica"&gt;Java Tool&lt;/font&gt;&lt;/h3&gt; &lt;p&gt;&lt;font size="-1" face="Verdana, Arial, Helvetica"&gt;&lt;b&gt;&lt;font color="#2554c7"&gt;Winner: NetBeans IDE&lt;/font&gt;&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;&lt;h3&gt;&lt;font size="-1" face="Verdana, Arial, Helvetica"&gt;Open Source&lt;/font&gt;&lt;/h3&gt; &lt;p&gt;&lt;font size="-1" face="Verdana, Arial, Helvetica"&gt;&lt;b&gt;&lt;font color="#2554c7"&gt;Winner:
    NetBeans&lt;/font&gt;&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;&lt;font size="5"&gt;&lt;b&gt;Parabéns para a comunidade Netbeans!&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.developer.com/java/other/article.php/3795991" target="_blank"&gt;Veja o resultado completo da pesquisa&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;</content:encoded>
    <dc:date>2009-01-15T11:59:34+00:00</dc:date>
  </item>
  <item rdf:about="http://silveiraneto.net/?p=2119">
    <title>Silveira Neto » netbeans: Tirei a SCSNI</title>
    <link>http://silveiraneto.net/2009/01/10/tirei-a-scsni/</link>
    <content:encoded>&lt;p style="text-align: center;"&gt;&lt;img src="http://silveiraneto.net/wp-content/uploads/2009/01/duke_pulando.gif" title="duke pulando" height="80" width="130" alt="duke pulando" class="size-full wp-image-2121 aligncenter" /&gt;&lt;/p&gt; &lt;p&gt;Já fazem algumas semanas que chegou o resultado, mas eu não tive tempo de postar. Eu passei na prova da certificação SCSNI (&lt;a href="http://www.sun.com/training/certification/netbeans.html" title="site da certificação"&gt;Sun Certified
    Specialist for NetBeans IDE&lt;/a&gt;) durante a fase beta do exame. A notícia foi uma surpresa porque depois da prova eu realmente tinha achado que tinha levado bomba. Mas como a prova era beta, ainda não estava definido qual ia ser a nota de corte, percentual mínimo que devia ser alcançado para você saber se passou ou não.&lt;/p&gt; &lt;p&gt;A certificação SCSNI cobre tópicos de configuração da IDE, setup de projetos, desenvolvimento Java SE, desenvolvimento Java Web EE, edição, testes, sondagem e
    depuração. Felizmente certificação não cobre toda as linguagens e plataformas que o NetBeans atualmente suporte e também deixa de fora a parte de plataforma. No entando é necessário saber o que é e o que não é suportado.&lt;/p&gt; &lt;p style="text-align: center;"&gt;&lt;a href="http://silveiraneto.net/wp-content/uploads/2009/01/duke_scsni.svg"&gt;&lt;img src="http://silveiraneto.net/wp-content/uploads/2009/01/duke_sun_certified_specialist_for_netbeans_ide.png" title="duke sun certified specialist for
    netbeans ide" height="360" width="300" alt="duke sun certified specialist for netbeans ide" class="size-full wp-image-2120 aligncenter" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Para quem pretende tirar essa certificação no futuro algumas dicas e links úteis:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;O grande Wagner Santos, que escreve o &lt;a href="http://netfeijao.blogspot.com/" title="Net Feijão, sacou?"&gt;Net Feijão&lt;/a&gt;, fez um &lt;a href="http://sites.google.com/site/netbeansscsni/" title="NetBeans SCSNI
    Guide"&gt;excelente guia para a prova&lt;/a&gt;, vale muito a pena dar uma olhada.&lt;/li&gt; &lt;li&gt;Eu também postei um &lt;a href="http://silveiraneto.net/2008/10/22/scsni-study-guide/" title="SCSNI Guide"&gt;pequeno guia para prova&lt;/a&gt;. Ainda tem vários tópicos incompletos mas pode ser útil.&lt;/li&gt; &lt;li&gt;Tenha sempre a mão &lt;a href="http://www.netbeans.org/kb/index.html" title="NetBeans DOCS"&gt;documentação do NetBeans&lt;/a&gt; é bastante vasta e cobre mais do que o necessário
    para a prova.&lt;/li&gt; &lt;li&gt;Assista todos os &lt;a href="http://www.netbeans.org/kb/docs/screencasts.html" title="NetBeans DOCS"&gt;screencasts do NetBeans&lt;/a&gt;. Muitas ds coisas que você precisa saber são mais fáceis de aprender vendo fazer do que lendo como faz. Depois de ver o screencast, tente reproduzir a aula. Há também o &lt;a href="http://www.netbeans.tv/" title="TV NetBeans"&gt;NetBeans TV&lt;/a&gt; que reune vários vídeos e tutoriais relacionados ao NetBeans.&lt;/li&gt;
    &lt;li&gt;Há no wiki do NetBeans uma &lt;a href="http://wiki.netbeans.org/CertExamStudyGuide" title="Guia de Estudo"&gt;guia de estudo&lt;/a&gt; com uma lista de materiais interessantes para a prova.&lt;/li&gt; &lt;/ul&gt;</content:encoded>
    <dc:date>2009-01-10T15:13:21+00:00</dc:date>
  </item>
  <item rdf:about="http://www.go-java.com:80/blog/2009/01/07/1231332105004.html">
    <title>Controverso eu ? - NetBeans category: Previsões 2009 !</title>
    <link>http://www.go-java.com:80/blog/2009/01/07/1231332105004.html</link>
    <content:encoded>Bom , estou aqui para fazer algumas previsões para este ano de 2009, espero que acerte&#160; na maioria delas...&lt;br /&gt; &lt;br /&gt; &lt;ul&gt; &lt;li&gt;Java se estabelece como plataforma multi-linguagem definitivamente&lt;/li&gt; &lt;li&gt;JRuby mostra-se a melhor implementação da linguagem Ruby de todos os tempos&lt;/li&gt; &lt;li&gt;Yahoo perde grande espaço no setor de buscas&lt;/li&gt; &lt;li&gt;Lançamento do Windows 7 é atrasado&lt;/li&gt; &lt;li&gt;JavaFX mostra-se
    tecnologia morna e sem uso amplo&lt;/li&gt; &lt;li&gt;Sun é vendida&lt;/li&gt; &lt;li&gt;Eu passo de ano e finalmente me formo :P (hehe)&lt;/li&gt; &lt;li&gt;Telefonia IP desbanca de vez telefônicas, e as mesmas entram em uma espiral de queda&lt;/li&gt; &lt;li&gt;Java EE 6 é o foco dos aficionados por novas tecnologias&lt;/li&gt; &lt;li&gt;WebServices SOAP terminam de morrer em aplicações não triviais&lt;/li&gt; &lt;li&gt;SOA é definitivamente enterrado&lt;/li&gt; &lt;li&gt;Steve Jobs falece&lt;/li&gt;
    &lt;li&gt;Apple mantem-se firme mesmo sem Steve Jobs&lt;/li&gt; &lt;li&gt;Dell entra em apuros financeiros&lt;br /&gt; &lt;/li&gt; &lt;li&gt;Processamento de computadores chegam no limite e pedem novas implementações de software para aproveitamento real dos "enjabres" novos criados pelas fabricantes&lt;br /&gt; &lt;/li&gt; &lt;li&gt;Bruno de Souza deixa a Sun&lt;/li&gt; &lt;li&gt;Apache larga o desenvolvimento do OpenJPA&lt;/li&gt; &lt;li&gt;Eclipselink é transformado em 4 opção quando o assunto é
    ORM&lt;/li&gt; &lt;li&gt;A bolsa de valores de são paulo tem recuperação recorde&lt;/li&gt; &lt;li&gt;Finalmente Java pode ser utilizado descentemente em iPhones&lt;/li&gt; &lt;li&gt;Coringão ganha o campeonato brasileiro de 2009&lt;/li&gt; &lt;li&gt;NetBeans se estabelece como opção real a usuários desesperados do Eclipse&lt;/li&gt; &lt;/ul&gt; Acho que são estas ;)&lt;br /&gt; &lt;br /&gt; Abraços !&lt;br /&gt;</content:encoded>
    <dc:date>2009-01-07T12:41:45+00:00</dc:date>
  </item>
  <item rdf:about="http://www.softag.com.br/roller/adourado/entry/agora_sou_sun_certified_specialist">
    <title>adourado: Agora sou Sun Certified Specialist NetBeans IDE (SCSNI)</title>
    <link>http://www.softag.com.br/roller/adourado/entry/agora_sou_sun_certified_specialist</link>
    <content:encoded>&lt;p&gt;Vou começar o ano bem, dando uma notícia boa no primeiro post do ano.&#160;&lt;/p&gt;&lt;p&gt;Ontem chegou pelo correiro uma carta da prometric informando o resultado da &lt;a href="http://www.softag.com.br/roller/adourado/entry/exame_gratuito_da_certificacao_netbeans"&gt;Certificação Beta&lt;/a&gt; Sun Certified Specialist NetBeans IDE (SCSNI) que &lt;a href="http://www.softag.com.br/roller/adourado/entry/prova_de_certificacao_netbeans_ide"&gt;fiz no dia 04 de
    novembro&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;O resultado demorou quase 2 meses a ansiedade aumentou muito mas no final deu certo. &lt;/p&gt;&lt;p&gt;&lt;font size="5"&gt;Passei e agora sou Sun Certified Specialist NetBeans IDE (SCSNI)!&lt;/font&gt;&lt;/p&gt;&lt;p&gt;Espero que daqui a aproximadamente um mês eu esteja postando uma nova certificação (JAVA).. comecei a estudar ontem e vou marcar a prova para o final do mês. &lt;/p&gt;&lt;p&gt;&lt;font style="background-color: rgb(255, 255, 15);"
    size="5"&gt;Feliz ano novo para todos!!&lt;/font&gt;&lt;br /&gt;&lt;/p&gt;</content:encoded>
    <dc:date>2009-01-07T11:13:13+00:00</dc:date>
  </item>
  <item rdf:about="http://www.softag.com.br/roller/adourado/entry/top_10_novos_recursos_do">
    <title>adourado: Top 10 Novos Recursos do NetBeans IDE 6.5 (Parte 1)</title>
    <link>http://www.softag.com.br/roller/adourado/entry/top_10_novos_recursos_do</link>
    <content:encoded>&lt;p&gt;&lt;span class="submitted"&gt;Geertjan Wielenga publicou o artigo &lt;a href="http://java.dzone.com/news/top-10-new-java-features-netbe" target="_blank"&gt;Top 10 New Java Features in NetBeans IDE 6.5 (Part 1)&lt;/a&gt; no &lt;a href="http://www.dzone.com/" target="_blank"&gt;DZone.com&lt;/a&gt;&lt;/span&gt;.&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Este é a primeira parte do artigo e ele fala e demonstra utilizando de vários recursos 5 dos 10 novos recursos TOP do Netbeans
    6.5. &lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;São eles: &lt;/p&gt;&lt;ol&gt;&lt;li&gt;Performance Improvements;&lt;/li&gt;&lt;li&gt;Compile &amp;amp; Deploy on Save;&lt;/li&gt;&lt;li&gt;Groovy;&lt;/li&gt;&lt;li&gt;Java Editor Enhancement;&lt;/li&gt;&lt;li&gt;Matisse GUI Builder Enhancements.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;</content:encoded>
    <dc:date>2008-12-30T18:52:10+00:00</dc:date>
  </item>
  <item rdf:about="http://www.go-java.com:80/blog/2008/12/23/1230028983607.html">
    <title>Controverso eu ? - NetBeans category: Previsões falhas (micos) de 2008</title>
    <link>http://www.go-java.com:80/blog/2008/12/23/1230028983607.html</link>
    <content:encoded>&lt;h2&gt;&#160;&lt;/h2&gt; &lt;div class="contentItemBody"&gt; &lt;div align="center"&gt;&lt;img src="http://www.brpoint.net/wp-content/uploads/2006/12/oraculo.jpg" alt="" /&gt;&lt;/div&gt; &lt;/div&gt; &lt;p&gt;Vem chegando o final do ano... e voltamo-nos para as previsões feitas, e as concretizadas no ano...&lt;/p&gt; &lt;p&gt;Interessante como este ano eu quase acertei tudo !&lt;/p&gt; &lt;p&gt;Em negrito as previsões não concretizadas&lt;/p&gt; &lt;p&gt;Vejamos:&lt;/p&gt;
    &lt;ol&gt; &lt;li&gt;Silverlight vai passar como um caminhão por cima da solucao ainda "obscura" Flash/Flex &lt;/li&gt; &lt;li&gt;Ruby não vai se mostrar uma solução assim "tão magica" &lt;/li&gt; &lt;li&gt;Rails vai deixar de ser a primeira resposta quando gritarem "temos que simplificar" &lt;/li&gt; &lt;li&gt;&lt;strong&gt;Java perde espaço em dispositivos móveis&lt;/strong&gt; &lt;/li&gt; &lt;li&gt;Andrioid da Google vai ser mais um GRANDE LANÇAMENTO sem nenhum uso extensivo &lt;/li&gt;
    &lt;li&gt;GWT morre como opção real de desenvolvimento &lt;/li&gt; &lt;li&gt;&lt;strong&gt;JavaFX vai continuar sendo uma promessa de grego&lt;/strong&gt; &lt;/li&gt; &lt;li&gt;&lt;strong&gt;Finalmente a microsoft compra o yahoo&lt;/strong&gt; &lt;/li&gt; &lt;li&gt;Windows Vista vai continuar em queda &lt;/li&gt; &lt;li&gt;NetBeans 6 vai ser escolhido por aqueles que antes preferiam o Eclipse &lt;/li&gt; &lt;li&gt;Mono continua sua caminhada para a total decadência &lt;/li&gt; &lt;li&gt;Delphi termina
    de morrer diante do gigante VisualStudio e do C# &lt;/li&gt; &lt;li&gt;Codegear começa a falir... devido a péssima qualidade de suas IDE's novas... Delphi for PHP , for Ruby entre outros &lt;/li&gt; &lt;li&gt;&lt;strong&gt;Firefox começa a perder mercado devido a bugs irritantes e a falta de inovação&lt;/strong&gt; &lt;/li&gt; &lt;li&gt;A internet começa a ficar mais semântica &lt;/li&gt; &lt;li&gt;Este é o ano do tableless ! &lt;/li&gt; &lt;li&gt;Glassfish começa a ser utilizado em massa em projetos
    Opensource &lt;/li&gt; &lt;li&gt;SOAP WebServices continua sua estrada de total decadência em aplicações não "feijão com arroz" &lt;/li&gt; &lt;li&gt;Passo de ano na faculdade !! (essa eh boa !) &lt;/li&gt; &lt;li&gt;Flex continua escondido e só utilizado em demonstrações imbecis da Adobe &lt;/li&gt; &lt;li&gt;AIR ( aka Apollo) mostra para que veio... ou seja... para nada... &lt;/li&gt; &lt;li&gt;&lt;strong&gt;Inicia-se o ciclo Web para Desktop... encerrando a desesperada procura de conversão Desktop
    para Web&lt;/strong&gt; &lt;/li&gt; &lt;li&gt;A Sun volta a ficar mau das pernas &lt;/li&gt; &lt;li&gt;OpenOffice continua não cheirando e não fedendo &lt;/li&gt; &lt;li&gt;OpenXML se torna mais um padrão pela ISO (infelizmente) &lt;/li&gt; &lt;li&gt;&lt;strong&gt;Rodrigo Kumpera (louds) deixa a Novell&lt;/strong&gt; &lt;/li&gt; &lt;li&gt;&lt;strong&gt;Bruno de Souza deixa a Sun&lt;/strong&gt; &lt;/li&gt; &lt;li&gt;Borland termina de enterrar sua linha de IDE's &lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Miguel de Icaza insere o mono no core do Gnome&lt;/strong&gt; &lt;/li&gt; &lt;/ol&gt; &lt;p&gt;&#160;Comentários:&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Java perde espaço em dispositivos móveis !&lt;/strong&gt;&lt;br /&gt; Eu sinceramente achei que Java estava se tornando defasado quando a pergunta fosse dispositivos móveis... mas pelo visto até hoje nada é tão abrangente quanto Java ( eu disse abrangente no sentido de base instalada) , quanto muitos estão dizendo que JAvaME morreu...
    vem o pessoal do Ginga e implaca no desenvolvimento da TV digital. Interessante... acho que nessa eu errei feio.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;JavaFX vai continuar sendo uma promessa de grego&lt;/strong&gt;&lt;br /&gt; Promessa de grego ? Puts a Sun lançou a versão 1.0... calou a minha boca :P Pelo menos temos uma versão... agora se vai implacar... só o tempo dirá.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Finalmente a microsoft compra o yahoo&lt;/strong&gt; &lt;br /&gt; Não comprou... MAS FOI QUASE
    ;)&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Firefox começa a perder mercado devido a bugs irritantes e a falta de inovação&lt;/strong&gt; &lt;br /&gt; Os bugs irritantes continuam lá... a falta de inovação é uma constante nelporem o F.F. está em plena ascensão.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Inicia-se o ciclo Web para Desktop... encerrando a desesperada procura de conversão Desktop para Web&lt;/strong&gt; &lt;br /&gt; Não foi este ano... MAS... JavaFX , Silverlight entre outros vão dar inicio a este ciclo em
    breve.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Rodrigo Kumpera (louds) deixa a Novell&lt;/strong&gt; &lt;br /&gt; Não foi este ano hehhe.. e pelo visto vai demorar... ele *REALMENTE* acha que o mono é a unico caminho verdade e vida.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Bruno de Souza deixa a Sun&lt;/strong&gt; &lt;br /&gt; Impressionante como isso ainda não aconteceu.&lt;/p&gt; &lt;p&gt;Bom , como não adianta chorar pelo leite derramado... QUE VENHA 2009 !&lt;/p&gt;</content:encoded>
    <dc:date>2008-12-23T10:43:03+00:00</dc:date>
  </item>
  <item rdf:about="http://silveiraneto.net/?p=1951">
    <title>Silveira Neto » netbeans: JavaFX, Simple Tile Set</title>
    <link>http://silveiraneto.net/2008/12/20/javafx-simple-tile-set/</link>
    <content:encoded>&lt;p&gt;Tile sets are a very simple way to draw scenarios with repeated elements. From simple to complex ones using a very low footprint.&lt;/p&gt; &lt;p&gt;First step, load the png file that stores the tileset into a &lt;a href="http://java.sun.com/javafx/1/docs/api/javafx.scene.image/javafx.scene.image.Image.html" title="JavaFX API"&gt;Image&lt;/a&gt;. The file tiles.png shoud be in the same directory of the source code. I adjusted some tiles from those tile set &lt;a
    href="http://silveiraneto.net/2008/08/31/my-free-tileset-version-2/" title="Tile set"&gt;I’ve blogged here before&lt;/a&gt; into a grid of 10×10 tiles.&lt;/p&gt; &lt;p style="text-align: center;"&gt;&lt;img src="http://silveiraneto.net/wp-content/uploads/2008/12/tiles.png" title="Set of tiles, example" height="320" width="320" alt="Set of tiles, example" class="size-full wp-image-1955 aligncenter" /&gt;&lt;/p&gt; &lt;div class="wp_syntax"&gt; &lt;div class="code"&gt; &lt;pre style="font-family:
    monospace;" class="java java"&gt;var tileset &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #003399;"&gt;Image&lt;/span&gt; &lt;span style="color: #009900;"&gt;{&lt;/span&gt; url&lt;span style="color: #339933;"&gt;:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;"{__DIR__}tiles.png"&lt;/span&gt; &lt;span style="color: #009900;"&gt;}&lt;/span&gt;&lt;/pre&gt; &lt;/div&gt; &lt;/div&gt; &lt;p&gt;Notice that each tile have 32 of height and 32 of width. We will assume this and
    use theses numbers when performing calculations to find a single tile in our tile set.&lt;/p&gt; &lt;div class="wp_syntax"&gt; &lt;div class="code"&gt; &lt;pre style="font-family: monospace;" class="java java"&gt;def w &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #cc66cc;"&gt;32&lt;/span&gt;; def h &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #cc66cc;"&gt;32&lt;/span&gt;;&lt;/pre&gt; &lt;/div&gt; &lt;/div&gt; &lt;p&gt;To display a Image in the
    screen we use a &lt;a href="http://java.sun.com/javafx/1/docs/api/javafx.scene.image/javafx.scene.image.ImageView.html" title="JavaFX API"&gt;ImageView&lt;/a&gt; node. A ImageView can have a viewport property to create crop or zoom effect. A viewport is just a &lt;a href="http://java.sun.com/javafx/1/docs/api/javafx.geometry/javafx.geometry.Rectangle2D.html"&gt;Rectangle2D&lt;/a&gt;, a object with position (minX and minY), height and width. If we want to display the first tile in the tileset we
    do&lt;/p&gt; &lt;p style="text-align: center;"&gt;&lt;img src="http://silveiraneto.net/wp-content/uploads/2008/12/first_tile.png" title="first tile" height="32" width="32" alt="first tile" class="size-full wp-image-1956 aligncenter" /&gt;&lt;/p&gt; &lt;div class="wp_syntax"&gt; &lt;div class="code"&gt; &lt;pre style="font-family: monospace;" class="java java"&gt;ImageView &lt;span style="color: #009900;"&gt;{&lt;/span&gt; image&lt;span style="color: #339933;"&gt;:&lt;/span&gt; tileset viewport&lt;span
    style="color: #339933;"&gt;:&lt;/span&gt; &lt;span style="color: #003399;"&gt;Rectangle2D&lt;/span&gt;&lt;span style="color: #009900;"&gt;{&lt;/span&gt; minX&lt;span style="color: #339933;"&gt;:&lt;/span&gt; 0, minY&lt;span style="color: #339933;"&gt;:&lt;/span&gt; 0, height&lt;span style="color: #339933;"&gt;:&lt;/span&gt; &lt;span style="color: #cc66cc;"&gt;32&lt;/span&gt;, width&lt;span style="color: #339933;"&gt;:&lt;/span&gt; &lt;span style="color: #cc66cc;"&gt;32&lt;/span&gt; &lt;span
    style="color: #009900;"&gt;}&lt;/span&gt; &lt;span style="color: #009900;"&gt;}&lt;/span&gt;&lt;/pre&gt; &lt;/div&gt; &lt;/div&gt; &lt;p&gt;Notice that the minX determines the column and minY the row in the tileset. The first row is 0*32, the second row is 1*32 and so on. If we want to display the tile at the second line and third column of the tileset we do&lt;/p&gt; &lt;p style="text-align: center;"&gt;&lt;img src="http://silveiraneto.net/wp-content/uploads/2008/12/another_tile.png"
    title="another_tile" height="32" width="32" alt="another_tile" class="size-full wp-image-1957 aligncenter" /&gt;&lt;/p&gt; &lt;div class="wp_syntax"&gt; &lt;div class="code"&gt; &lt;pre style="font-family: monospace;" class="java java"&gt;ImageView &lt;span style="color: #009900;"&gt;{&lt;/span&gt; image&lt;span style="color: #339933;"&gt;:&lt;/span&gt; tileset viewport&lt;span style="color: #339933;"&gt;:&lt;/span&gt; &lt;span style="color: #003399;"&gt;Rectangle2D&lt;/span&gt;&lt;span style="color:
    #009900;"&gt;{&lt;/span&gt; minX&lt;span style="color: #339933;"&gt;:&lt;/span&gt; &lt;span style="color: #cc66cc;"&gt;2&lt;/span&gt; &lt;span style="color: #339933;"&gt;*&lt;/span&gt; &lt;span style="color: #cc66cc;"&gt;32&lt;/span&gt; , minY&lt;span style="color: #339933;"&gt;:&lt;/span&gt; &lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;&lt;span style="color: #339933;"&gt;*&lt;/span&gt;&lt;span style="color: #cc66cc;"&gt;32&lt;/span&gt;, height&lt;span style="color: #339933;"&gt;:&lt;/span&gt;
    &lt;span style="color: #cc66cc;"&gt;32&lt;/span&gt;, width&lt;span style="color: #339933;"&gt;:&lt;/span&gt; &lt;span style="color: #cc66cc;"&gt;32&lt;/span&gt; &lt;span style="color: #009900;"&gt;}&lt;/span&gt; &lt;span style="color: #009900;"&gt;}&lt;/span&gt;&lt;/pre&gt; &lt;/div&gt; &lt;/div&gt; &lt;p&gt;Those properties in a Rectangle2D are for init and read only. So I created a list with all Rectangles I can need for use as a viewport.&lt;/p&gt; &lt;div class="wp_syntax"&gt; &lt;div
    class="code"&gt; &lt;pre style="font-family: monospace;" class="java java"&gt;def viewports &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;for&lt;/span&gt; &lt;span style="color: #009900;"&gt;(&lt;/span&gt;row in &lt;span style="color: #009900;"&gt;[&lt;/span&gt;0..9&lt;span style="color: #009900;"&gt;]&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt; &lt;span style="color: #009900;"&gt;{&lt;/span&gt; &lt;span style="color:
    #000000; font-weight: bold;"&gt;for&lt;/span&gt; &lt;span style="color: #009900;"&gt;(&lt;/span&gt;col in &lt;span style="color: #009900;"&gt;[&lt;/span&gt;0..9&lt;span style="color: #009900;"&gt;]&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt; &lt;span style="color: #009900;"&gt;{&lt;/span&gt; &lt;span style="color: #003399;"&gt;Rectangle2D&lt;/span&gt;&lt;span style="color: #009900;"&gt;{&lt;/span&gt; minX&lt;span style="color: #339933;"&gt;:&lt;/span&gt; col &lt;span style="color:
    #339933;"&gt;*&lt;/span&gt; w, minY&lt;span style="color: #339933;"&gt;:&lt;/span&gt; row &lt;span style="color: #339933;"&gt;*&lt;/span&gt; h, height&lt;span style="color: #339933;"&gt;:&lt;/span&gt; w, width&lt;span style="color: #339933;"&gt;:&lt;/span&gt; h &lt;span style="color: #009900;"&gt;}&lt;/span&gt; &lt;span style="color: #009900;"&gt;}&lt;/span&gt; &lt;span style="color: #009900;"&gt;}&lt;/span&gt;&lt;/pre&gt; &lt;/div&gt; &lt;/div&gt; &lt;p&gt;The scenario map is stored in another list.
    The first element of the list is 7, that is, the first tile in the scenario is the 7th tile from the tile set.&lt;/p&gt; &lt;div class="wp_syntax"&gt; &lt;div class="code"&gt; &lt;pre style="font-family: monospace;" class="java java"&gt;var map &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #009900;"&gt;[&lt;/span&gt; &lt;span style="color: #cc66cc;"&gt;7&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;3&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;3&lt;/span&gt;,
    &lt;span style="color: #cc66cc;"&gt;3&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;3&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;3&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;3&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;3&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;3&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;8&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;19&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;26&lt;/span&gt;, &lt;span style="color:
    #cc66cc;"&gt;40&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;41&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;24&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;13&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;13&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;23&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;24&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;19&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;19&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;36&lt;/span&gt;,
    &lt;span style="color: #cc66cc;"&gt;50&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;51&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;34&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;2&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;2&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;2&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;34&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;19&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;19&lt;/span&gt;, &lt;span style="color:
    #cc66cc;"&gt;2&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;2&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;2&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;2&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;2&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;2&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;2&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;25&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;19&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;19&lt;/span&gt;,
    &lt;span style="color: #cc66cc;"&gt;57&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;58&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;44&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;45&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;46&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;2&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;2&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;35&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;19&lt;/span&gt;, &lt;span style="color:
    #cc66cc;"&gt;27&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;3&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;3&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;6&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;55&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;56&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;5&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;3&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;3&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;38&lt;/span&gt;,
    &lt;span style="color: #cc66cc;"&gt;19&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;60&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;13&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;16&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;47&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;48&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;15&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;13&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;61&lt;/span&gt;, &lt;span style="color:
    #cc66cc;"&gt;19&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;19&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;70&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;33&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;71&lt;/span&gt;,
    &lt;span style="color: #cc66cc;"&gt;19&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;19&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;, &lt;span style="color:
    #cc66cc;"&gt;49&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;19&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;17&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;9&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;9&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;9&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;9&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;9&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;9&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;9&lt;/span&gt;,
    &lt;span style="color: #cc66cc;"&gt;9&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;18&lt;/span&gt;, &lt;span style="color: #009900;"&gt;]&lt;/span&gt;;&lt;/pre&gt; &lt;/div&gt; &lt;/div&gt; &lt;p&gt;Finally to create a scenario with 100 tiles, 10 per row and with 10 rows, in a list called &lt;em&gt;tiles&lt;/em&gt;. Each iteration of this loop creates a &lt;em&gt;ImageView&lt;/em&gt;. Each &lt;em&gt;ImageView&lt;/em&gt; will store a single tile. We get the tile number in the
    &lt;em&gt;map&lt;/em&gt; list and so use it to index the &lt;em&gt;viewports&lt;/em&gt; list.&lt;/p&gt; &lt;div class="wp_syntax"&gt; &lt;div class="code"&gt; &lt;pre style="font-family: monospace;" class="java java"&gt;var tiles &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;for&lt;/span&gt; &lt;span style="color: #009900;"&gt;(&lt;/span&gt;row in &lt;span style="color: #009900;"&gt;[&lt;/span&gt;0..9&lt;span style="color:
    #009900;"&gt;]&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt; &lt;span style="color: #009900;"&gt;{&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;for&lt;/span&gt; &lt;span style="color: #009900;"&gt;(&lt;/span&gt;col in &lt;span style="color: #009900;"&gt;[&lt;/span&gt;0..9&lt;span style="color: #009900;"&gt;]&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt; &lt;span style="color: #009900;"&gt;{&lt;/span&gt; ImageView &lt;span style="color:
    #009900;"&gt;{&lt;/span&gt; x&lt;span style="color: #339933;"&gt;:&lt;/span&gt; col &lt;span style="color: #339933;"&gt;*&lt;/span&gt; w, y&lt;span style="color: #339933;"&gt;:&lt;/span&gt; row &lt;span style="color: #339933;"&gt;*&lt;/span&gt; h, viewport&lt;span style="color: #339933;"&gt;:&lt;/span&gt; bind viewports&lt;span style="color: #009900;"&gt;[&lt;/span&gt;map&lt;span style="color: #009900;"&gt;[&lt;/span&gt;row &lt;span style="color: #339933;"&gt;*&lt;/span&gt; &lt;span style="color:
    #cc66cc;"&gt;10&lt;/span&gt; &lt;span style="color: #339933;"&gt;+&lt;/span&gt; col&lt;span style="color: #009900;"&gt;]&lt;/span&gt;&lt;span style="color: #009900;"&gt;]&lt;/span&gt; image&lt;span style="color: #339933;"&gt;:&lt;/span&gt; tileset &lt;span style="color: #009900;"&gt;}&lt;/span&gt; &lt;span style="color: #009900;"&gt;}&lt;/span&gt; &lt;span style="color: #009900;"&gt;}&lt;/span&gt;&lt;/pre&gt; &lt;/div&gt; &lt;/div&gt; &lt;p&gt;Additionally I added two things to transform this program
    also in a (extremely)&#160; simple map editor. At each &lt;em&gt;ImageView&lt;/em&gt; I added a callback for &lt;em&gt;onMouseClicked&lt;/em&gt; event. When you click on a tile, it changes its &lt;em&gt;map&lt;/em&gt; position, ie, the tile. The next tile for the left button and the last tile for any other button.&lt;/p&gt; &lt;div class="wp_syntax"&gt; &lt;div class="code"&gt; &lt;pre style="font-family: monospace;" class="java java"&gt;onMouseClicked&lt;span style="color: #339933;"&gt;:&lt;/span&gt;
    function&lt;span style="color: #009900;"&gt;(&lt;/span&gt; e&lt;span style="color: #339933;"&gt;:&lt;/span&gt; &lt;span style="color: #003399;"&gt;MouseEvent&lt;/span&gt; &lt;span style="color: #009900;"&gt;)&lt;/span&gt;&lt;span style="color: #339933;"&gt;:&lt;/span&gt;&lt;span style="color: #003399;"&gt;Void&lt;/span&gt; &lt;span style="color: #009900;"&gt;{&lt;/span&gt; var amount &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #000000; font-weight:
    bold;"&gt;if&lt;/span&gt;&lt;span style="color: #009900;"&gt;(&lt;/span&gt;e.&lt;span style="color: #006633;"&gt;button&lt;/span&gt; &lt;span style="color: #339933;"&gt;==&lt;/span&gt; MouseButton.&lt;span style="color: #006633;"&gt;PRIMARY&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt; &lt;span style="color: #009900;"&gt;{&lt;/span&gt; &lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt; &lt;span style="color: #009900;"&gt;}&lt;/span&gt; &lt;span style="color: #000000; font-weight:
    bold;"&gt;else&lt;/span&gt; &lt;span style="color: #009900;"&gt;{&lt;/span&gt; &lt;span style="color: #339933;"&gt;-&lt;/span&gt;&lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt; &lt;span style="color: #009900;"&gt;}&lt;/span&gt;; map&lt;span style="color: #009900;"&gt;[&lt;/span&gt;row &lt;span style="color: #339933;"&gt;*&lt;/span&gt; &lt;span style="color: #cc66cc;"&gt;10&lt;/span&gt; &lt;span style="color: #339933;"&gt;+&lt;/span&gt; col&lt;span style="color: #009900;"&gt;]&lt;/span&gt; &lt;span
    style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #009900;"&gt;(&lt;/span&gt;map&lt;span style="color: #009900;"&gt;[&lt;/span&gt;row &lt;span style="color: #339933;"&gt;*&lt;/span&gt; &lt;span style="color: #cc66cc;"&gt;10&lt;/span&gt; &lt;span style="color: #339933;"&gt;+&lt;/span&gt; col&lt;span style="color: #009900;"&gt;]&lt;/span&gt; &lt;span style="color: #339933;"&gt;+&lt;/span&gt; amount&lt;span style="color: #009900;"&gt;)&lt;/span&gt; mod &lt;span style="color:
    #cc66cc;"&gt;100&lt;/span&gt;; &lt;span style="color: #009900;"&gt;}&lt;/span&gt;&lt;/pre&gt; &lt;/div&gt; &lt;/div&gt; &lt;p&gt;The other thing is to print the &lt;em&gt;map&lt;/em&gt; list when the program is over. There is the full program:&lt;/p&gt; &lt;div class="wp_syntax"&gt; &lt;div class="code"&gt; &lt;pre style="font-family: monospace;" class="java java"&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;package&lt;/span&gt; &lt;span style="color: #006699;"&gt;tileeditor&lt;/span&gt;;
    &#160; &lt;span style="color: #000000; font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="color: #006699;"&gt;javafx.stage.Stage&lt;/span&gt;; &lt;span style="color: #000000; font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="color: #006699;"&gt;javafx.scene.Scene&lt;/span&gt;; &lt;span style="color: #000000; font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="color: #006699;"&gt;javafx.scene.image.ImageView&lt;/span&gt;; &lt;span style="color: #000000; font-weight:
    bold;"&gt;import&lt;/span&gt; &lt;span style="color: #006699;"&gt;javafx.scene.image.Image&lt;/span&gt;; &lt;span style="color: #000000; font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="color: #006699;"&gt;javafx.scene.CustomNode&lt;/span&gt;; &lt;span style="color: #000000; font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="color: #006699;"&gt;javafx.scene.Group&lt;/span&gt;; &lt;span style="color: #000000; font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="color:
    #006699;"&gt;javafx.scene.Node&lt;/span&gt;; &lt;span style="color: #000000; font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="color: #006699;"&gt;javafx.geometry.Rectangle2D&lt;/span&gt;; &lt;span style="color: #000000; font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="color: #006699;"&gt;javafx.scene.input.MouseEvent&lt;/span&gt;; &lt;span style="color: #000000; font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="color:
    #006699;"&gt;javafx.scene.input.MouseButton&lt;/span&gt;; &#160; def w &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #cc66cc;"&gt;32&lt;/span&gt;; def h &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #cc66cc;"&gt;32&lt;/span&gt;; &#160; var map &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #009900;"&gt;[&lt;/span&gt; &lt;span style="color: #cc66cc;"&gt;7&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;3&lt;/span&gt;,
    &lt;span style="color: #cc66cc;"&gt;3&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;3&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;3&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;3&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;3&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;3&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;3&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;8&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;19&lt;/span&gt;, &lt;span style="color:
    #cc66cc;"&gt;26&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;40&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;41&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;24&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;13&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;13&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;23&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;24&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;19&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;19&lt;/span&gt;,
    &lt;span style="color: #cc66cc;"&gt;36&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;50&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;51&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;34&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;2&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;2&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;2&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;34&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;19&lt;/span&gt;, &lt;span style="color:
    #cc66cc;"&gt;19&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;2&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;2&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;2&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;2&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;2&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;2&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;2&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;25&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;19&lt;/span&gt;,
    &lt;span style="color: #cc66cc;"&gt;19&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;57&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;58&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;44&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;45&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;46&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;2&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;2&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;35&lt;/span&gt;, &lt;span style="color:
    #cc66cc;"&gt;19&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;27&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;3&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;3&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;6&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;55&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;56&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;5&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;3&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;3&lt;/span&gt;,
    &lt;span style="color: #cc66cc;"&gt;38&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;19&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;60&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;13&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;16&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;47&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;48&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;15&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;13&lt;/span&gt;, &lt;span style="color:
    #cc66cc;"&gt;61&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;19&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;19&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;70&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;33&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;,
    &lt;span style="color: #cc66cc;"&gt;71&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;19&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;19&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;, &lt;span style="color:
    #cc66cc;"&gt;1&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;49&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;19&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;17&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;9&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;9&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;9&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;9&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;9&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;9&lt;/span&gt;,
    &lt;span style="color: #cc66cc;"&gt;9&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;9&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;18&lt;/span&gt;, &lt;span style="color: #009900;"&gt;]&lt;/span&gt;; &#160; var tileset &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #003399;"&gt;Image&lt;/span&gt; &lt;span style="color: #009900;"&gt;{&lt;/span&gt; url&lt;span style="color: #339933;"&gt;:&lt;/span&gt; &lt;span style="color:
    #0000ff;"&gt;"{__DIR__}tiles.png"&lt;/span&gt; &lt;span style="color: #009900;"&gt;}&lt;/span&gt; &#160; def viewports &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;for&lt;/span&gt; &lt;span style="color: #009900;"&gt;(&lt;/span&gt;row in &lt;span style="color: #009900;"&gt;[&lt;/span&gt;0..9&lt;span style="color: #009900;"&gt;]&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt; &lt;span style="color: #009900;"&gt;{&lt;/span&gt;
    &lt;span style="color: #000000; font-weight: bold;"&gt;for&lt;/span&gt; &lt;span style="color: #009900;"&gt;(&lt;/span&gt;col in &lt;span style="color: #009900;"&gt;[&lt;/span&gt;0..9&lt;span style="color: #009900;"&gt;]&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt; &lt;span style="color: #009900;"&gt;{&lt;/span&gt; &lt;span style="color: #003399;"&gt;Rectangle2D&lt;/span&gt;&lt;span style="color: #009900;"&gt;{&lt;/span&gt; minX&lt;span style="color: #339933;"&gt;:&lt;/span&gt; col
    &lt;span style="color: #339933;"&gt;*&lt;/span&gt; w, minY&lt;span style="color: #339933;"&gt;:&lt;/span&gt; row &lt;span style="color: #339933;"&gt;*&lt;/span&gt; h, height&lt;span style="color: #339933;"&gt;:&lt;/span&gt; w, width&lt;span style="color: #339933;"&gt;:&lt;/span&gt; h &lt;span style="color: #009900;"&gt;}&lt;/span&gt; &lt;span style="color: #009900;"&gt;}&lt;/span&gt; &lt;span style="color: #009900;"&gt;}&lt;/span&gt; &#160; var tiles &lt;span style="color: #339933;"&gt;=&lt;/span&gt;
    &lt;span style="color: #000000; font-weight: bold;"&gt;for&lt;/span&gt; &lt;span style="color: #009900;"&gt;(&lt;/span&gt;row in &lt;span style="color: #009900;"&gt;[&lt;/span&gt;0..9&lt;span style="color: #009900;"&gt;]&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt; &lt;span style="color: #009900;"&gt;{&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;for&lt;/span&gt; &lt;span style="color: #009900;"&gt;(&lt;/span&gt;col in &lt;span style="color:
    #009900;"&gt;[&lt;/span&gt;0..9&lt;span style="color: #009900;"&gt;]&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt; &lt;span style="color: #009900;"&gt;{&lt;/span&gt; ImageView &lt;span style="color: #009900;"&gt;{&lt;/span&gt; x&lt;span style="color: #339933;"&gt;:&lt;/span&gt; col &lt;span style="color: #339933;"&gt;*&lt;/span&gt; w, y&lt;span style="color: #339933;"&gt;:&lt;/span&gt; row &lt;span style="color: #339933;"&gt;*&lt;/span&gt; h, viewport&lt;span style="color:
    #339933;"&gt;:&lt;/span&gt; bind viewports&lt;span style="color: #009900;"&gt;[&lt;/span&gt;map&lt;span style="color: #009900;"&gt;[&lt;/span&gt;row &lt;span style="color: #339933;"&gt;*&lt;/span&gt; &lt;span style="color: #cc66cc;"&gt;10&lt;/span&gt; &lt;span style="color: #339933;"&gt;+&lt;/span&gt; col&lt;span style="color: #009900;"&gt;]&lt;/span&gt;&lt;span style="color: #009900;"&gt;]&lt;/span&gt; image&lt;span style="color: #339933;"&gt;:&lt;/span&gt; tileset &#160; onMouseClicked&lt;span
    style="color: #339933;"&gt;:&lt;/span&gt; function&lt;span style="color: #009900;"&gt;(&lt;/span&gt; e&lt;span style="color: #339933;"&gt;:&lt;/span&gt; &lt;span style="color: #003399;"&gt;MouseEvent&lt;/span&gt; &lt;span style="color: #009900;"&gt;)&lt;/span&gt;&lt;span style="color: #339933;"&gt;:&lt;/span&gt;&lt;span style="color: #003399;"&gt;Void&lt;/span&gt; &lt;span style="color: #009900;"&gt;{&lt;/span&gt; var amount &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color:
    #000000; font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: #009900;"&gt;(&lt;/span&gt;e.&lt;span style="color: #006633;"&gt;button&lt;/span&gt; &lt;span style="color: #339933;"&gt;==&lt;/span&gt; MouseButton.&lt;span style="color: #006633;"&gt;PRIMARY&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt; &lt;span style="color: #009900;"&gt;{&lt;/span&gt; &lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt; &lt;span style="color: #009900;"&gt;}&lt;/span&gt; &lt;span style="color:
    #000000; font-weight: bold;"&gt;else&lt;/span&gt; &lt;span style="color: #009900;"&gt;{&lt;/span&gt; &lt;span style="color: #339933;"&gt;-&lt;/span&gt;&lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt; &lt;span style="color: #009900;"&gt;}&lt;/span&gt;; map&lt;span style="color: #009900;"&gt;[&lt;/span&gt;row &lt;span style="color: #339933;"&gt;*&lt;/span&gt; &lt;span style="color: #cc66cc;"&gt;10&lt;/span&gt; &lt;span style="color: #339933;"&gt;+&lt;/span&gt; col&lt;span style="color:
    #009900;"&gt;]&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #009900;"&gt;(&lt;/span&gt;map&lt;span style="color: #009900;"&gt;[&lt;/span&gt;row &lt;span style="color: #339933;"&gt;*&lt;/span&gt; &lt;span style="color: #cc66cc;"&gt;10&lt;/span&gt; &lt;span style="color: #339933;"&gt;+&lt;/span&gt; col&lt;span style="color: #009900;"&gt;]&lt;/span&gt; &lt;span style="color: #339933;"&gt;+&lt;/span&gt; amount&lt;span style="color: #009900;"&gt;)&lt;/span&gt; mod
    &lt;span style="color: #cc66cc;"&gt;100&lt;/span&gt;; &lt;span style="color: #009900;"&gt;}&lt;/span&gt; &lt;span style="color: #009900;"&gt;}&lt;/span&gt; &lt;span style="color: #009900;"&gt;}&lt;/span&gt; &lt;span style="color: #009900;"&gt;}&lt;/span&gt; &#160; Stage &lt;span style="color: #009900;"&gt;{&lt;/span&gt; title&lt;span style="color: #339933;"&gt;:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;"JavaFX Simple Tile Editor"&lt;/span&gt; scene&lt;span style="color:
    #339933;"&gt;:&lt;/span&gt; Scene &lt;span style="color: #009900;"&gt;{&lt;/span&gt; content&lt;span style="color: #339933;"&gt;:&lt;/span&gt; &lt;span style="color: #009900;"&gt;[&lt;/span&gt; tiles &lt;span style="color: #009900;"&gt;]&lt;/span&gt; &lt;span style="color: #009900;"&gt;}&lt;/span&gt; onClose&lt;span style="color: #339933;"&gt;:&lt;/span&gt; function&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt; &lt;span style="color:
    #009900;"&gt;{&lt;/span&gt; println&lt;span style="color: #009900;"&gt;(&lt;/span&gt;map&lt;span style="color: #009900;"&gt;)&lt;/span&gt;; &lt;span style="color: #009900;"&gt;}&lt;/span&gt; &lt;span style="color: #009900;"&gt;}&lt;/span&gt;&lt;/pre&gt; &lt;/div&gt; &lt;/div&gt; &lt;p&gt;Here is the result for that&lt;em&gt; map&lt;/em&gt;&lt;/p&gt; &lt;p style="text-align: center;"&gt;&lt;img src="http://silveiraneto.net/wp-content/uploads/2008/12/tilemap_javafx.png" title="tlemap javafx" height="320"
    width="320" alt="tlemap javafx" class="size-full wp-image-1961 aligncenter" /&gt;&lt;/p&gt; &lt;p&gt;And you can try it yourself in your browser.&lt;strong&gt; &lt;a href="http://silveiraneto.net/downloads/SimpleTileEditor/dist/JavaFxSandBox.html" title="Simple Tile Editor Online"&gt;Play it online now&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt; &lt;p&gt;Here is a video of it working&lt;/p&gt; &lt;p style="text-align: center;"&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Downloads:&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt;
    &lt;li&gt;Complete source code and project in NetBeans, &lt;a href="http://silveiraneto.net/downloads/SimpleTileEditor.tar.bz2" title="Simple Tile Editor"&gt;SimpleTileEditor.tar.bz2&lt;/a&gt;.&lt;/li&gt; &lt;li&gt;Video of it working, &lt;a href="http://silveiraneto.net/downloads/javafx_tile_set.ogv" title="OGG Video"&gt;javafx_tile_set.ogv&lt;/a&gt;.&lt;/li&gt; &lt;li&gt;Program main class, &lt;a href="http://silveiraneto.net/downloads/SimpleTileEditor/src/tileeditor/Main.fx" title="Main
    class"&gt;Main.fx&lt;/a&gt;.&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Possibilities&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;We are using just&#160; a image that can handle 100 tiles, &lt;a href="ttp://silveiraneto.net/wp-content/uploads/2008/12/tiles.png"&gt;tiles.png&lt;/a&gt; with less than 30Kb. The map is also composed with 100 tiles. Each tile we can choose between 100 different tiles, so we can compose 10&lt;sup&gt;100&lt;/sup&gt; different maps (one &lt;a
    href="http://en.wikipedia.org/wiki/Googol" title="Wikipedia, english"&gt;googol&lt;/a&gt;&lt;sup&gt;10&lt;/sup&gt; ). Most of them are useless and without any sense, but some are cool. &lt;img src="http://silveiraneto.net/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /&gt; &lt;/p&gt;</content:encoded>
    <dc:date>2008-12-20T19:23:57+00:00</dc:date>
  </item>
  <item rdf:about="http://silveiraneto.net/?p=1941">
    <title>Silveira Neto » netbeans: NetBeans with JavaFX 1.0 on Linux</title>
    <link>http://silveiraneto.net/2008/12/18/netbeans-with-javafx-10-on-linux/</link>
    <content:encoded>&lt;p&gt;Following &lt;a href="http://www.weiqigao.com/blog/2008/12/11/javafx_1_0_on_linux_netbeans_plugin.html" title="JavaFX NetBeans Linux"&gt;Weiqi Gao’s steps&lt;/a&gt; it’s possible to already have a complete JavaFX development environment on Linux.&lt;/p&gt; &lt;p&gt;&lt;/p&gt;&lt;center&gt;&lt;a href="http://silveiraneto.net/wp-content/uploads/2008/12/netbeans_linux_javafx.png"&gt;&lt;img src="http://silveiraneto.net/wp-content/uploads/2008/12/netbeans_linux_javafx-500x312.png"
    title="netbeans_linux_javafx" height="312" width="500" alt="netbeans_linux_javafx" class="aligncenter size-medium wp-image-1942" /&gt;&lt;/a&gt;&lt;/center&gt;&lt;p&gt;&lt;/p&gt; &lt;p&gt;It’s all there for JavaFX development. Code complementation, live preview, the pallet with code snipets, templates, etc. Easier a lot my work. Those features already availiable on Windows and Mac OS X trought the &lt;a href="http://javafx.com/downloads/all.jsp" title="JavaFX Download"&gt;regular JavaFX
    Kit&lt;/a&gt;.&lt;/p&gt;</content:encoded>
    <dc:date>2008-12-18T03:58:57+00:00</dc:date>
  </item>
  <item rdf:about="http://www.softag.com.br/roller/adourado/entry/mediaplayer_em_menos_de_5">
    <title>adourado: MediaPlayer em menos de 5 minutos com JavaFX e Netbeans 6.5</title>
    <link>http://www.softag.com.br/roller/adourado/entry/mediaplayer_em_menos_de_5</link>
    <content:encoded>&lt;p&gt; Saiu no &lt;a href="http://www.netbeans.tv" target="_blank"&gt;Netbeans.tv&lt;/a&gt; um screencast demonstrando os recursos poderosos e simples do &lt;a href="http://javafx.com/" target="_blank"&gt;JavaFX&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;Mostra como usar&#160; o Netbeans 6.5 para fazer um Player com JavaFX em menos de 5 minutos.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;div id="videoPlayer"&gt;&lt;/div&gt; &lt;br /&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Assista o vídeo e
    veja os comentários do netbeans.tv &lt;a href="http://www.netbeans.tv/screencasts/JavaFX-MediaPlayer-431/%20" target="_blank"&gt;aqui&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt; &lt;p&gt;Você também pode fazer o download do vídeo &lt;a href="http://mediacast.sun.com/users/GWiel/media/javafx-mediaplayer.flv/details" target="_blank"&gt;aqui&lt;/a&gt;.&lt;/p&gt;</content:encoded>
    <dc:date>2008-12-12T12:02:20+00:00</dc:date>
  </item>
  <item rdf:about="http://www.softag.com.br/roller/adourado/entry/liberado_a_primeira_atualizacao_para">
    <title>adourado: Liberado a primeira atualizacao para o NetBeans IDE 6.5</title>
    <link>http://www.softag.com.br/roller/adourado/entry/liberado_a_primeira_atualizacao_para</link>
    <content:encoded>&lt;p&gt; Foi liberado no Update Center a primeira atualização (Patch 1) do Netbeans 6.5. &lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Esta atualização possui 62 correções nos módulos: Auto Update Services, Ant, BlueJ Project Support, C/C++, Database, GUI Builder, GlassFish v3 Prelude, GlassFish v3 Prelude - JRuby, IDE Platform, Java, Java EE, Web Applications, Java Profiler, NetBeans 6.5, PHP, Platform, RESTful Web Services, Ruby and Rails, SaaS Services Support and
    UML.&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Para mais informações sobre as correções &lt;a href="http://wiki.netbeans.org/NetBeans6.5PatchesInfo" target="_blank"&gt;veja aqui&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;A atualização é bem simples, é só clicar no globo que aparece no canto inferior esquerdo da tela, na barra de status, ir na aba de atualização e&#160; confirmar seguir os passos da instalação. Caso não tenha aparecido um globo basta você ir no menu Ferramentas --&gt;
    Plugins.&lt;/p&gt;</content:encoded>
    <dc:date>2008-12-11T14:01:29+00:00</dc:date>
  </item>
  <item rdf:about="http://www.go-java.com:80/blog/2008/12/10/1228914183565.html">
    <title>Controverso eu ? - NetBeans category: NetBeans 6.5 Patch 1 Released !</title>
    <link>http://www.go-java.com:80/blog/2008/12/10/1228914183565.html</link>
    <content:encoded>&lt;p&gt;O primeiro patch do NetBeans 6.5 está disponível para download no UPDATE CENTER, ele corrige uma porção de coisas chatas...&lt;/p&gt; &lt;p&gt;A lista completa de correções pode ser vista &lt;a href="http://wiki.netbeans.org/NetBeans6.5PatchesInfo"&gt;aqui&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Lembrando que você deve mandar atualizar duas vezes , a primeira puxa uma atualização do UpdateCenter e a outra puxa as demais...&lt;/p&gt; &lt;p&gt;Atualizem !&lt;/p&gt;
    &lt;p&gt;&#160;&lt;/p&gt;</content:encoded>
    <dc:date>2008-12-10T13:03:03+00:00</dc:date>
  </item>
  <item rdf:about="tag:blogger.com,1999:blog-544668644670311424.post-547706816534971622">
    <title>NetFeijão Brazil: E o Netbeans fala Português</title>
    <link>http://netfeijao.blogspot.com/2007/08/e-o-netbeans-fala-portugus.html</link>
    <content:encoded>A partir da versão 5.0 foi iniciado um projeto de tradução do NetBeans para diversos idiomas, entre eles o Português do Brasil (pt_Br). Foi neste momento que a comunidade de desenvolvedores brasileiros mostrou todo seu potencial, onde a partir da versão 5.5, em tempo invejável, sob a coordenação de Michel Graciano nossa equipe conseguiu um grande destaque dentro os outros projetos, pois foi o primeiro a finalizar toda a internacionalização para esta versão, tornando-se modelo para os
    demais times de outros idiomas.&lt;br /&gt;O NetBeans 5.5 foi a primeira versão totalmente internacionalizada e organizada pela comunidade disponibilizada pela Sun Microsystems (Sun), até então apenas as versões em japonês e chinês estavam disponíveis, ambas patrocinadas pela própria empresa. Não há como deixar de destacar vários benefícios de ter-se uma ferramenta livre em português, entre os principais incentivadores está em motivar e reduzir os obstáculos que os acadêmicos enfrentam nos bancos
    escolares em nossas universidades e cursos técnicos, onde muitas vezes o idioma inglês é apenas mais um dos inúmeros obstáculos e uma ferramenta na sua língua nativa ajuda muito a entender suas funcionalidades. Outro motivo não menos relevante é o fato dos governos e seus órgãos fazerem uso preferencial de softwares no idioma oficial, até porque muitas vezes o uso de sistemas em idioma estrangeiro é vetado. Desta forma softwares traduzidos ganham mais popularidade aos não traduzidos, sendo essa a
    intenção do projeto, fazer o NetBeans ser o mais popular possível. Não podendo deixar de destacar, a internacionalização reflete diretamente em produtos desenvolvidos sobre o NetBeans Platform, onde estas tradução saem de graça para a empresa ou desenvolvedor do projeto.&lt;br /&gt;&lt;br /&gt;Todo o projeto teve o acompanhamento do pessoal interno da Sun bem como do projeto NetBeans, em particular Janice Campbell e Masaki Katakai, os quais coordenam e ajudam os projetos de internacionalização. Este
    tipo de iniciativa é bastante importante pois reduz as distâncias entre os desenvolvedores independentes e a própria Sun. A versão 6.0 do Netbeans ainda não está disponível em português, mas o projeto de tradução já esta se preparando para esta próxima etapa, e você pode participar, quanto mais colabordores melhor. Para participar acesse o site oficial do projeto (ver Referências), inscreva-se na lista de discussão e quaisquer dúvidas o pessoal estará pronto para respondê-las. Na última edição do Sun
    Tech Days em São Paulo (Figura abaixo), aconteceu uma apresentação do projeto e a entrega dos certificados de participação.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_6CJaDmsVepU/RvHyjPgK0LI/AAAAAAAAACM/S0jM7pLgMLA/s1600-h/NB_Brazil_Team.JPG"&gt;&lt;img src="http://2.bp.blogspot.com/_6CJaDmsVepU/RvHyjPgK0LI/AAAAAAAAACM/S0jM7pLgMLA/s400/NB_Brazil_Team.JPG" alt="" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" border="0"
    id="BLOGGER_PHOTO_ID_5112133739313025202" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;b&gt;&lt;span&gt;Foto&lt;/span&gt;&lt;/b&gt;: Eduardo Costa, Marcos Junqueira, (Eu) Wagner Santos, Jefferson Prestes, Michel Graciano e o Bruno Souza o “Javaman” que apresentou o projeto.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;p style="margin-left: 18pt; text-align: justify; text-indent: 17.4pt;" class="MsoNormal"&gt;&lt;span style="font-size:
    9;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img src="https://blogger.googleusercontent.com/tracker/544668644670311424-547706816534971622?l=netfeijao.blogspot.com" alt="" height="1" width="1" /&gt;&lt;/div&gt;</content:encoded>
    <dc:date>2008-12-10T04:43:34+00:00</dc:date>
  </item>
  <item rdf:about="tag:blogger.com,1999:blog-544668644670311424.post-5919452608750576458">
    <title>NetFeijão Brazil: Tim Boudreau e Henry Story no Brasil</title>
    <link>http://netfeijao.blogspot.com/2007/12/tim-boudreau-e-henry-story-no-brasil.html</link>
    <content:encoded>Segunda Feira (05/12/2007) esteve em São Paulo Tim Boudreau o engenheiro senior da Sun e um dos criadores NetBeans, ele esteve em um Mini curso exclusivo da &lt;a href="http://www.globalcode.com.br/"&gt;Globalcode,&lt;/a&gt; esteve falando sobre as mais recentes funcionalidades do NetBeans 6.0 tais como: Melhorias no editor; Suporte a Ruby/JRuby/Ruby on Rails; Instalação e atualização mais fáceis; Desenvolvimento de GUI Swing; Profiling; Web e Java EE; Mobilidade; SOA; UML; Melhorias
    na API da plataforma NetBeans.&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_6CJaDmsVepU/R1aUpkAgKOI/AAAAAAAAAEM/ZRvN3D5yVt0/s1600-h/MC_Netbeans2.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_6CJaDmsVepU/R1aUpkAgKOI/AAAAAAAAAEM/ZRvN3D5yVt0/s320/MC_Netbeans2.jpg" alt="" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" border="0" id="BLOGGER_PHOTO_ID_5140459466451331298" /&gt;&lt;/a&gt;&lt;span style="font-size:
    78%;"&gt;Vinicius Senger e Tim Boudreau&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_6CJaDmsVepU/R1aVsEAgKQI/AAAAAAAAAEc/UhrXXgYqeDQ/s1600-h/MC_Netbeans4.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_6CJaDmsVepU/R1aVsEAgKQI/AAAAAAAAAEc/UhrXXgYqeDQ/s320/MC_Netbeans4.jpg" alt="" style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" border="0" id="BLOGGER_PHOTO_ID_5140460608912632066" /&gt;&lt;/a&gt; &lt;span style="font-size:
    78%;"&gt;&lt;br /&gt;&lt;/span&gt;Mauricio Leal da Sun fez uma demo das novas funcionalidades do NetBeans 6 para o desenvolvimento de aplicativos JavaME.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Nos próximos dias a Globalcode irá promover outro mini curso sobre Web Semântica com Henry Story, fiquem ligados pois as vagas se esgotam rapidamente...&lt;br /&gt;Para quem não sabe Web
    Semântica é o rumo atual que a Web tem tomado e em um sentido mais amplo permitirá que homem e máquina trabalhem em cooperação. Hoje o grande desafio é desenvolver tecnologias e linguagens que tornem a informação legível para as máquinas, essa integração hoje em dia é possível graças ao XML (eXtensible Markup Language), ao RDF (Resource Description Framework) e arquiteturas de metadados..&lt;br /&gt;A Web Semântica é associada ao Web 3.0 como um próximo passo na evolução da rede mundial de
    computadores. Ela tem como objetivo imediato de categorizar as informações aumentando assim a eficiência em mecanismos de ferramentas de busca como Google, Altavista, etc...&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_6CJaDmsVepU/R1aZ_EAgKRI/AAAAAAAAAEk/MUMODbdu_Qw/s1600-h/W3c_semantic_web_stack.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_6CJaDmsVepU/R1aZ_EAgKRI/AAAAAAAAAEk/MUMODbdu_Qw/s400/W3c_semantic_web_stack.jpg" alt="" style="margin: 0px
    auto 10px; display: block; text-align: center; cursor: pointer;" border="0" id="BLOGGER_PHOTO_ID_5140465333376657682" /&gt;&lt;/a&gt;&lt;span style="font-size: 78%;"&gt;Estrutura de uma Rede Semântica &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;E no fim do mini curso, fui gentilmente convidade pela familia Senger para um jantar com os ilustres visitantes..&lt;br /&gt;&lt;br /&gt;&lt;a
    href="http://4.bp.blogspot.com/_6CJaDmsVepU/R1aa70AgKSI/AAAAAAAAAEs/--otLP8_ANw/s1600-h/MC_Netbeans9.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_6CJaDmsVepU/R1aa70AgKSI/AAAAAAAAAEs/--otLP8_ANw/s400/MC_Netbeans9.jpg" alt="" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" border="0" id="BLOGGER_PHOTO_ID_5140466377053710626" /&gt;&lt;/a&gt; &lt;span style="font-size: 78%;"&gt;Jorge Diz, Henry Story, Vinicius Senger, Yara Senger, Tim Boudreau, Mauricio Leal e Wagner
    Santos&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 100%;"&gt; Para maiores informações sobre Web Semântica acesse &lt;a href="http://www.w3.org/2001/sw/"&gt;http://www.w3.org/2001/sw/&lt;/a&gt; da W3C.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img src="https://blogger.googleusercontent.com/tracker/544668644670311424-5919452608750576458?l=netfeijao.blogspot.com" alt="" height="1" width="1" /&gt;&lt;/div&gt;</content:encoded>
    <dc:date>2008-12-10T04:43:30+00:00</dc:date>
  </item>
  <item rdf:about="tag:blogger.com,1999:blog-544668644670311424.post-2674734991822921932">
    <title>NetFeijão Brazil: L10N no SouJava</title>
    <link>http://netfeijao.blogspot.com/2008/04/l10n-no-soujava.html</link>
    <content:encoded>&lt;a href="http://2.bp.blogspot.com/_6CJaDmsVepU/SAdeTxRF9EI/AAAAAAAAAMI/_nNfG2Q-dtE/s1600-h/logo.png"&gt;&lt;img src="http://2.bp.blogspot.com/_6CJaDmsVepU/SAdeTxRF9EI/AAAAAAAAAMI/_nNfG2Q-dtE/s400/logo.png" alt="" style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" border="0" id="BLOGGER_PHOTO_ID_5190220789303342146" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_6CJaDmsVepU/SAdehhRF9FI/AAAAAAAAAMQ/wJyawDjn5RE/s1600-h/marca-soujava.jpg"&gt;&lt;img
    src="http://1.bp.blogspot.com/_6CJaDmsVepU/SAdehhRF9FI/AAAAAAAAAMQ/wJyawDjn5RE/s400/marca-soujava.jpg" alt="" style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" border="0" id="BLOGGER_PHOTO_ID_5190221025526543442" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;No dia 10 de Abril tive o prazer de dar uma palestra no auditório da Globalcode sobre o projeto de L10N que significa Localization, o 10 se refere as dez
    letras que existe entre a letra L e N.. Jefferson Prestes um dos colaboradores do Projeto e tradução da lista de notícias (newsletter) acabou ajudando bastante nesta apresentação.&lt;br /&gt;No mesmo dia &lt;a href="http://weblogs.java.net/blog/gsporar/"&gt;Greg Sporar&lt;/a&gt;, deu uma palestra sobre as novidades do NetBeans 6.1 (ainda Beta), sobre performance, sobre um plugin do NetBeans para o IReports, entre outras coisas..&lt;br /&gt;Janice Campbell a Gerente Mundial de programas de tradução
    escreveu sobre a palestra neste &lt;a href="http://blogs.sun.com/janicec/entry/talking_up_netbeans_community_in"&gt;link&lt;/a&gt;.&lt;br /&gt;O material da apresentação se encontra no java.net, no projeto do soujava, e pode ser baixado neste &lt;a href="https://soujava.dev.java.net/servlets/ProjectDocumentList?folderID=9045&amp;amp;expandFolder=9045&amp;amp;folderID=0"&gt;link&lt;/a&gt;.&lt;br /&gt;Sobre a palestra:&lt;br /&gt;Falamos sobre o projeto de tradução IDE, que desde a versão 5.5 do NetBeans
    tupiniquim liderada por Michel Graciano, foi totalmente internacionalizada e organizada pela comunidade, ganhando um destaque no cenário internacional sendo considerado um padrão para os outros países em termos de organização e postura.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-style: italic;"&gt;Benefícios&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul style="font-weight: bold;"&gt;&lt;li&gt;Ambiente Acadêmico.&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;Facilidade no
    aprendizado para os iniciantes cuja língua nativa seja diferente do inglês.&lt;br /&gt;&lt;/blockquote&gt;&lt;ul style="font-weight: bold;"&gt;&lt;li&gt;Software Governamental&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;Preferência por ferramentas no idioma oficial.&lt;br /&gt;Muitas vezes sistemas com idioma estrangeiro é vetado.&lt;/blockquote&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;NetBeans Platform&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;Impacto direto, pois
    a ferramenta traduzida é disponibilizada de graça para as empresas e desenvolvedores da plataforma.&lt;/blockquote&gt;&lt;br /&gt;Falamos sobre a tradução da Newsletter e da lista de discussão (nbdiscuss_pt@netbeans.org)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; Como Participar&lt;/span&gt;&lt;ol&gt;&lt;li&gt;Cadastre-se na lista de discussão pt_br@netbeans.org&lt;/li&gt;&lt;li&gt;Apresente-se&lt;/li&gt;&lt;li&gt;Colabore&lt;/li&gt;&lt;li&gt;A Versão 6.1 em breve estará
    disponível&lt;/li&gt;&lt;li&gt;Estamos ansiosos por sua contribuição!&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;Segue algumas fotos do evento.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_6CJaDmsVepU/SAbBRxRF9AI/AAAAAAAAALo/lh_F5jwQUuI/s1600-h/DSCN0454.JPG"&gt;&lt;img src="http://1.bp.blogspot.com/_6CJaDmsVepU/SAbBRxRF9AI/AAAAAAAAALo/lh_F5jwQUuI/s320/DSCN0454.JPG" alt="" style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" border="0"
    id="BLOGGER_PHOTO_ID_5190048131618042882" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;No inicio da palestra.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_6CJaDmsVepU/SAbBuRRF9BI/AAAAAAAAALw/xIB2lj5Zvfg/s1600-h/DSCN0456.JPG"&gt;&lt;img src="http://3.bp.blogspot.com/_6CJaDmsVepU/SAbBuRRF9BI/AAAAAAAAALw/xIB2lj5Zvfg/s320/DSCN0456.JPG" alt="" style="margin: 0pt 0pt
    10px 10px; float: right; cursor: pointer;" border="0" id="BLOGGER_PHOTO_ID_5190048621244314642" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Sobre o projeto de tradução.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_6CJaDmsVepU/SAbCAxRF9CI/AAAAAAAAAL4/ms-eNPwKLRc/s1600-h/DSCN0460.JPG"&gt;&lt;img
    src="http://1.bp.blogspot.com/_6CJaDmsVepU/SAbCAxRF9CI/AAAAAAAAAL4/ms-eNPwKLRc/s320/DSCN0460.JPG" alt="" style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" border="0" id="BLOGGER_PHOTO_ID_5190048939071894562" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Jefferson Prestes.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br
    /&gt;&lt;a href="http://4.bp.blogspot.com/_6CJaDmsVepU/SAbCWhRF9DI/AAAAAAAAAMA/M3UCXZ_ypaI/s1600-h/DSCN0461.JPG"&gt;&lt;img src="http://4.bp.blogspot.com/_6CJaDmsVepU/SAbCWhRF9DI/AAAAAAAAAMA/M3UCXZ_ypaI/s320/DSCN0461.JPG" alt="" style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" border="0" id="BLOGGER_PHOTO_ID_5190049312734049330" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;E Greg Sporar.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br
    /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;As fotos foram cortesia da minha grande amiga Valéria Guimarães Mendonca vulgo "JavaGirl"...&lt;div class="blogger-post-footer"&gt;&lt;img src="https://blogger.googleusercontent.com/tracker/544668644670311424-2674734991822921932?l=netfeijao.blogspot.com" alt="" height="1" width="1" /&gt;&lt;/div&gt;</content:encoded>
    <dc:date>2008-12-10T04:43:24+00:00</dc:date>
  </item>
  <item rdf:about="http://www.softag.com.br/roller/adourado/entry/04_12_2008_o_dia">
    <title>adourado: 04/12/2008, o dia do JavaFX</title>
    <link>http://www.softag.com.br/roller/adourado/entry/04_12_2008_o_dia</link>
    <content:encoded>&lt;p&gt; Ontem foi mesmo o dia do JavaFX. Como planejado, o pessoal da Sun &lt;a href="http://www.sun.com/aboutsun/pr/2008-12/sunflash.20081204.1.xml" target="_blank"&gt;liberou&lt;/a&gt; a primeira versão estável do JavaFX, a versão 1.0. &lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;O JavaFX 1.0 simplifica expressivamente&#160; a construção de aplicações ricas para internet ou RIA (Rich Internet Applications) com vídeos e áudios de alta qualidade, textos ricos, gráficos em vetores,
    animação e webservices.&#160;&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Para maiores informações viste o &lt;a href="http://www.sun.com/aboutsun/pr/2008-12/sunflash.20081204.1.xml" target="_blank"&gt;anúncio oficial&lt;/a&gt;. &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;Mas não para por ai, no mesmo dia também foram anunciados:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://www.javafx.com" target="_blank"&gt;Site&lt;/a&gt; - muito mais bonito e intuitivo além de diversos &lt;a
    href="http://javafx.com/samples/" target="_blank"&gt;exemplos&lt;/a&gt; comentados e com código-fonte.&lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.sun.com/javafx/" target="_blank"&gt;Blog&lt;/a&gt; - com a mesma beleza do site.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.netbeans.org/features/javafx/index.html?cid=927012" target="_blank"&gt;NetBeans IDE 6.5 para JavaFX&lt;/a&gt; - A IDE oficial para desenvolvimento JavaFX. Com ela você pode criar, testar, debugar e implantar aplicações JavaFX para as
    plataformas desktop, web e móvel. Veja um screenshot dela em funcionamento &lt;a href="http://www.netbeans.org/images/v6/5/screenshots/javafx.png" target="_blank"&gt;aqui&lt;/a&gt;. Você pode baixar o Netbeans já com JavaFX incluso ou caso você já tenha o Netbeans 6.5 instale pelo Update Center (ferramentas -&gt; plugin). &lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&#160;&lt;/p&gt;&lt;p&gt;E ai, o que está esperando? Baixe e entre hoje mesmo na era FX. &lt;img
    src="http://www.softag.com.br/roller/images/smileys/smile.gif" alt=":)" class="smiley" title=":)" /&gt;&lt;br /&gt;&lt;/p&gt;</content:encoded>
    <dc:date>2008-12-05T12:45:22+00:00</dc:date>
  </item>
  <item rdf:about="http://www.jroller.com/hmichel/entry/how_to_solve_netbeans_and">
    <title>Michel Graciano's Weblog: How to solve NetBeans and Java editors when scrolling down large files under Linux the text becomes garbled</title>
    <link>http://www.jroller.com/hmichel/entry/how_to_solve_netbeans_and</link>
    <content:encoded>&lt;p&gt;I am sure one image tell more than thousands of works, so here... we... go!&lt;br /&gt; &lt;/p&gt;&lt;p align="center"&gt;&lt;a href="http://www.jroller.com/hmichel/resource/bad_repaint_view_revision.png" target="_blank"&gt;&lt;img src="http://www.jroller.com/hmichel/resource/bad_repaint_view_revision.png" width="100%" /&gt;&lt;br /&gt; [Click to enlarge]&lt;br /&gt; &lt;/a&gt;&lt;br /&gt; &lt;/p&gt;&lt;p&gt;&lt;br /&gt; If you are experiencing this kind of behavior in your
    application, IDE or any kind of editor, don't worry so much, it is a misconfiguration of your video device and you can face it in several Java applications. Just to track the problem, some issues was &lt;a href="http://www.netbeans.org/issues/show_bug.cgi?id=149260" target="_blank"&gt;filed against NetBeans Issuezilla&lt;/a&gt; and them was identified as a invalid issue, since it is a video card misconfiguration. After some searches and tests I realized how to solve the problem. I am current using a
    Ubuntu 8.10 with an Mobile Intel X3100 video card, which was automatically configured by Ubuntu in my xorg.conf file as below:&lt;br /&gt; &lt;code&gt;&lt;br /&gt; Section "Device"&lt;br /&gt; Identifier "Configured Video Device"&lt;br /&gt; EndSection&lt;br /&gt; &lt;/code&gt;&lt;br /&gt; The first step to solve the problem is to know which display controller you are exactly using. To got it, I used lspci command line tool, where &lt;code&gt;Display controller&lt;/code&gt; property will say what you
    need. Now, you just need to edit your /etc/X11/xorg.conf file with the code that follow and don't forget to backup your current xorg.conf file:&lt;br /&gt; &lt;code&gt;&lt;br /&gt; Section "Device"&lt;br /&gt; Identifier "Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller"&lt;br /&gt; Option "AccelMethod" "xaa"&lt;br /&gt; Option "RenderAccel" "true"&lt;br /&gt; EndSection&lt;br /&gt; &lt;/code&gt;&lt;br /&gt; where &lt;code&gt;Identifier&lt;/code&gt; should be your display controller.
    Now you just need restart your X server and back to work. For details about this solution, see &lt;a href="https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/238629"&gt;this discussion&lt;/a&gt; and comments are really appreciated.&lt;/p&gt; &lt;p&gt;Another alternative is add a new property for JDK:&lt;br /&gt; &lt;code&gt;&lt;br /&gt; -Dsun.java2d.pmoffscreen=false&lt;br /&gt; &lt;/code&gt;&lt;br /&gt; This should fix it too.&lt;/p&gt; &lt;p&gt;Happy
    coding!&lt;/p&gt;</content:encoded>
    <dc:date>2008-11-27T11:24:50+00:00</dc:date>
  </item>
</rdf:RDF>
