<!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>Поддержка профиля IMP-NG в IDE NetBeans</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>Поддержка профиля IMP-NG в IDE NetBeans</h1>

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

<p>В этой экранной демонстрации рассматривается поддержка профиля Information Module Profile - Next Generation (<a href="http://jcp.org/en/jsr/detail?id=228">JSR 228</a>) при разработке небольших встраиваемых приложений JavaME в IDE NetBeans. В этом видео демонстрируется создание простого приложения IMP-NG с компонентом IMLet в стандартном проекте IDE. Также в этом видео показана демо-версия функции 'Универсальный ввод/вывод', созданной специально для платформы IMP-NG в Windows.</p>
<P>Автор: Алёна Сташкова (Alyona Stashkova) <br> Продолжительность: 7:28 </p>
 <p><a href="http://bits.netbeans.org/media/imp-ng.mp4">Смотреть видео полностью/Загрузить</a> (.mp4) (Ctrl-Click для загрузки, 16,3 МБ)</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">Мы ждем ваших отзывов</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>Связанные ссылки</h2>

        <ul>
            <li><a href="https://netbeans.org/kb/trails/mobility.html">Технологическая карта по приложениям Java ME и Java Card</a></li>
			<li><a href="http://www.oracle.com/technetwork/java/javame/javamobile/download/overview/index.html">Обзор загрузок Java Mobile</a></li>
	    </ul>

</body>
</html>
