<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<!--
Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
-->

<html>
<head>
        <title>Video of Installing and Using Java ME SDK 8.0 Plugins in 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 installation and usage of Oracle Java ME SDK 8 Plugins in NetBeans IDE on the Windows operating system.">
</head>
<body>
    

<h1>Video of Installing and Using Java ME SDK 8.0 Plugins in NetBeans IDE</h1>

<table>
<tr>
<td class="valign-top">

<p>This screencast demonstrates installation and usage of  <a href="http://www.oracle.com/technetwork/java/javame/javamobile/download/sdk/default-303768.html">Oracle Java ME SDK 8.0 Plugins</a> in NetBeans IDE on the Windows operating system. It covers the following topics:</p>
<p>0:14 - Prerequisites</p>
<p>1:06 - Installing Java ME SDK 8.0  Plugins in NetBeans IDE</p>
 <p>3:04 - Java ME SDK Demos: Creating a Sample Project</p>
 <p>3:55 - Java ME SDK Tools: Running a Project from Device Selector </p>
 <p>5:50 - Java ME SDK Tools: Using CPU Profiler </p>
 <p>Author:  Alyona Stashkova<br>
  Time: 7:05</p>
 <p><a href="http://bits.netbeans.org/media/nb_me_sdk_plugins.mp4">Watch full size/Download</a> (.mp4)
                        (Ctrl-Click to download, 13,9 MB)</p>
 <p class="notes"><b>Note:</b> Closed captioning is available for this video. Click the CC button at the bottom of the video to turn closed captions on.</p>

 <div class="feedback-box"><a href="/about/contact_form.html?to=6&amp;subject=Feedback:%20Screencast%20-%20Installing%20and%20Using%20Java%20ME%20SDK%208.0%20Plugins%20in%20NetBeans%20IDE">Send Us Your Feedback</a></div>


 <br style="clear:both;">
    </td>

                <td width="5">&nbsp; </td>
      <td width="5">&nbsp; </td>
      <td class="valign-top" width="486">
    <div id="player" >
        <center>
	    <div id="flashContent"></div>
        </center>
    </div>
    <script src="/images_www/js/jwplayer-6.7/jwplayer.js" type="text/javascript"></script>
    <script type="text/javascript">
	$(function(){
	    var targetFile='http://bits.netbeans.org/media/nb_me_sdk_plugins.mp4';           
		   jwplayer("flashContent").setup({			 
			playlist: [{
				file: targetFile,     
				height: 340,        
				width: 530,                       
				tracks: [{ 
					file: "/images_www/subtitles/nb_me_plugins.srt", 
					label: "English",
					kind: "captions",
					"default": true 
				}]
			}],		
			captions: {				
				fontsize: 12
			}
		});
        
	});
    </script>
 
  </td>
  </tr>
        </table>
        <h2>Related Links</h2>

        <ul>
		<li><a href="http://www.oracle.com/technetwork/java/javame/javamobile/download/sdk/default-303768.html">Oracle Java ME SDK Download</a></li>
		<li><a href="http://docs.oracle.com/javame/developer/developer.html">Oracle Java ME Developer Tools Documentation</a></li>
           <li><a href="http://wiki.netbeans.org/JavaMESDKSupport">FAQ on Java ME SDK Support in NetBeans IDE</a></li>	
		   <li><a href="https://netbeans.org/kb/trails/mobility.html">Java ME and Java Card Application Technology Trail</a></li>
		   <li><a href="http://www.oracle.com/pls/topic/lookup?ctx=nb8000&amp;id=NBDAG1552">Developing Java ME Applications</a> in <i>Developing Applications with NetBeans IDE</i></li>
			
			
			
			
			
			
			
			
			
	    </ul>

</body>
</html>
