<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <title>Video of PrimeFaces Development with NetBeans IDE</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
        <meta name="description" content="A screencast that demonstrates how to use NetBeans IDE to 
                create a complete CRUD application using Java EE 7, Maven, and PrimeFaces.">
        <link rel="stylesheet" type="text/css" href="../../../netbeans.css">
    </head>
    <body>

<!--
Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
-->

        <h1>Video of PrimeFaces Development with NetBeans IDE</h1>

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

                    <p>A screencast that demonstrates how to use NetBeans IDE to 
                create a complete CRUD application using Java EE 7, Maven, and PrimeFaces.
                    </p>
                    
                    
                    <p>Author: Geertjan Wielenga<br>Time: 4:39</p>

                    <p><a href="http://bits.netbeans.org/media/prime-faces-nb8.mp4">Download / Watch full size</a> (39 MB)</p>


                    
                </td>

                <td width="486" class="valign-top align-center">

 <script src="/images_www/js/mediaplayer-5.9/jwplayer.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/prime-faces-nb8.mp4';
		jwplayer('flashContent').setup({
	                'id': 'flashContentId',
	                'width': '530',
	                'height': '340',
	                'autostart': 'true',
	                'file': targetFile,
	                'controlbar':{position:'bottom'},
	                'modes': [
	                      {type: 'html5'},
	                      {type: 'flash', src: '/images_www/js/mediaplayer-5.9/player.swf'},
	                      {type: 'download'}
	                         ]
	           });	
	});
    </script>


                    </td>
            </tr>
            
            <tr>
                <td colspan="2">
                    
                    
                    <br style="clear:both;">
                    <div class="feedback-box">
                        <a href="/about/contact_form.html?to=3&amp;subject=Feedback:%20Video%20of%20PrimeFaces%20Development%20with%20NetBeans%20IDE">Send Feedback on This Tutorial</a>
                    </div>
                    <br style="clear:both;">
                </td>
            </tr>
        </table>
        <h2>Related links</h2>

        <ul>
            <li>Demo: <a href="javaee-gettingstarted-screencast.html">Getting Started with Java EE Applications</a></li>
            <li><a href="javaee-gettingstarted.html">Getting Started with Java EE Applications</a></li>
            <li><a href="javaee-intro.html">Introduction to Java EE Technology</a></li>
            <li><a href="../../trails/java-ee.html">Java EE &amp; Java Web Learning Trail </a></li>
        </ul>

    </body>
</html>
