<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--
Copyright (c) 2009, 2010, 2011, 2012, Oracle and/or its affiliates. All rights reserved.
-->

<html>
<head>
        <title>Suporte para o Perfil IMP-NG no NetBeans IDE</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
        <link rel="stylesheet" type="text/css" href="../../../netbeans.css"> 
        <meta name="description" content="This screencast demonstrates the support for the Information Module Profile - Next Generation profile in the NetBeans IDE">
</head>
<body>
    

<h1>Suporte para o Perfil IMP-NG no NetBeans IDE</h1>

<table>
<tr>
<td class="valign-top">

<p>Este screencast demonstra o suporte para o Perfil do Módulo de Informações - Próxima Geração (<a href="http://jcp.org/en/jsr/detail?id=228">JSR 228</a>) ao desenvolver pequenas aplicações JavaME incorporadas no NetBeans IDE. No screencast você cria uma aplicação IMP-NG simples com um IMLet no projeto IDE padrão. O screencast demonstra também uma Demonstração de Entrada/Saída do Objetivo Geral criada especificamente para a plataforma IMP-NG no Windows.</p>
<P>Autora: Alyona Stashkova <br> Hora: 7:28 </p>
 <p><a href="http://bits.netbeans.org/media/imp-ng.mp4">Veja em tela cheia/Download</a> (.mp4) (Ctrl-Clique para fazer o download, 16,3 MB)</p>

 <div class="feedback-box"><a href="/about/contact_form.html?to=6&amp;subject=Feedback:%20Screencast%20-%20Support%20for%20IMP-NG%20Profile%20in%20NetBeans%20IDE">Envie-nos Seu Feedback</a></div>


 <br style="clear:both;">
              </td>

                <td width="5">&nbsp; </td>
      <td class="valign-top" width="486">
   <script src="/images_www/js/mediaplayer-5.2/swfobject.js" type="text/javascript"></script>
    <div id="player" >
        <center>
	    <div id="flashContent"></div>
        </center>
    </div>
    <script type="text/javascript">
	$(function(){
	    var targetFile='http://bits.netbeans.org/media/imp-ng.mp4';
            var s1 = new SWFObject('/images_www/js/mediaplayer-5.2/player.swf','player','530','340','9');
            s1.addParam('allowfullscreen','true');
            s1.addParam('allowscriptaccess','always');
            s1.addParam('flashvars','file='+targetFile+'&autostart=true');
            s1.write('flashContent');
	});
    </script>
 
  </td>
            </tr>
        </table>
        <h2>Links relacionados</h2>

        <ul>
            <li><a href="https://netbeans.org/kb/trails/mobility.html">Trilha de Tecnologia de Aplicações Java ME e Java Card</a></li>
			<li><a href="http://www.oracle.com/technetwork/java/javame/javamobile/download/overview/index.html">Visão Geral do Download do Java Mobile</a></li>
	    </ul>

</body>
</html>
