<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <!-- -*- xhtml -*- -->
        <title>Top 10 NetBeans APIs</title>
        <link rel="stylesheet" type="text/css" href="https://netbeans.org/netbeans.css">
        <meta name="AUDIENCE" content="NBUSER">
        <meta name="TYPE" content="ARTICLE">
        <meta name="EXPIRES" content="N">
        <meta name="developer" content="gwielenga@netbeans.org">
        <meta name="indexed" content="y">
        <meta name="description"
              content="A screencast series
              outlining the top 10 NetBeans APIs.">
        <!--      Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved. -->
        <!--     Use is subject to license terms.-->
    </head>
    <body>
        <h1>Top 10 NetBeans APIs</h1>

        <p>The following screencasts introduce you
            to the main NetBeans APIs, why you would
        use them, and how to get started doing so. It assumes no prior
        knowledge of the NetBeans Platform. In fact, the whole series is created for complete newbies.</p>

        <p><a href="http://netbeans.dzone.com/news/video-part-1-introduction-netb-0">Part 1: Module System API</a></p>
        <div id="videoPlayer"></div><p>
        <script type="text/javascript">
            <!--
            var so = new SWFObject("http://www.netbeans.tv/images/playerWidget.swf" , "pv", "410", "331", "8", "#666666");
            so.addParam("quality", "high");
            so.addParam("allowScriptAccess", "sameDomain");
            so.addParam("allowFullScreen", "true");
            so.addVariable("autoPlay", "false");
            so.addVariable("urlFileIdList", "6734");
            so.addVariable("show_title", "true");
            so.addVariable("PLAY_CALLBACK","emphasize");
            so.addVariable("resizeLimitMax","true");
            so.addVariable("lang", "en");
            so.addVariable("flash_play","true");
            so.addVariable("author_name","NetBeans.tv");
            so.addVariable("configUrl","http://sun.ora.ma/config.sun.ora.ma.xml");
            so.write("videoPlayer");
            // -->
        </script>

        <p><p><a href="http://netbeans.dzone.com/news/top-10-netbeans-apis-part-2">Part 2: Lookup API</a></p>
        <div id="videoPlayer2"></div>
        <script type="text/javascript">
            <!--
            var so = new SWFObject("http://www.netbeans.tv/images/playerWidget.swf" , "pv", "410", "331", "8", "#666666");
            so.addParam("quality", "high");
            so.addParam("allowScriptAccess", "sameDomain");
            so.addParam("allowFullScreen", "true");
            so.addVariable("autoPlay", "false");
            so.addVariable("urlFileIdList", "6735");
            so.addVariable("show_title", "true");
            so.addVariable("PLAY_CALLBACK","emphasize");
            so.addVariable("resizeLimitMax","true");
            so.addVariable("lang", "en");
            so.addVariable("flash_play","true");
            so.addVariable("author_name","NetBeans.tv");
            so.addVariable("configUrl","http://sun.ora.ma/config.sun.ora.ma.xml");
            so.write("videoPlayer2");
            // -->
        </script>

        <p><p><p><a href="http://netbeans.dzone.com/news/top-10-netbeans-apis-part-3">Part 3: Window System API</a></p>
        <embed src="http://blip.tv/play/Ade7K5DuQw" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="410" height="331"></embed>

        <p><p><p><a href="http://netbeans.dzone.com/news/video-part-4-introduction-netb">Part 4: System FileSystem API</a></p>
        <embed src="http://blip.tv/play/AdixRZDuQw" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="410" height="331"></embed>

        <p><p><a href="http://netbeans.dzone.com/news/video-part-5-introduction-netb">Part 5: Nodes API and Explorer & Property Sheet API</a></p>
        <div id="videoPlayer3"></div>
        <script type="text/javascript">
            <!--
            var so = new SWFObject("http://www.netbeans.tv/images/playerWidget.swf" , "pv", "410", "331", "8", "#666666");
            so.addParam("quality", "high");
            so.addParam("allowScriptAccess", "sameDomain");
            so.addParam("allowFullScreen", "true");
            so.addVariable("autoPlay", "false");
            so.addVariable("urlFileIdList", "6759");
            so.addVariable("show_title", "true");
            so.addVariable("PLAY_CALLBACK","emphasize");
            so.addVariable("resizeLimitMax","true");
            so.addVariable("lang", "en");
            so.addVariable("flash_play","true");
            so.addVariable("author_name","NetBeans.tv");
            so.addVariable("configUrl","http://sun.ora.ma/config.sun.ora.ma.xml");
            so.write("videoPlayer3");
            // -->
        </script>

        <p><p><p><a href="http://netbeans.dzone.com/news/video-part-6-introduction-netb">Part 6: Revision I & Porting a First NetBeans Platform Application</a></p>
        <embed src="http://blip.tv/play/Adu+f5DuQw" type="application/x-shockwave-flash" width="410" height="331" allowscriptaccess="always" allowfullscreen="true"></embed>

        <p><p><a href="http://netbeans.dzone.com/news/video-part-7-introduction-netb">Part 7: Revision II & Porting a First NetBeans Platform Application</a></p>
        <div id="videoPlayer4"></div>
        <script type="text/javascript">
            <!--
            var so = new SWFObject("http://www.netbeans.tv/images/playerWidget.swf" , "pv", "410", "331", "8", "#666666");
            so.addParam("quality", "high");
            so.addParam("allowScriptAccess", "sameDomain");
            so.addParam("allowFullScreen", "true");
            so.addVariable("autoPlay", "false");
            so.addVariable("urlFileIdList", "6771");
            so.addVariable("show_title", "true");
            so.addVariable("PLAY_CALLBACK","emphasize");
            so.addVariable("resizeLimitMax","true");
            so.addVariable("lang", "en");
            so.addVariable("flash_play","true");
            so.addVariable("author_name","NetBeans.tv");
            so.addVariable("configUrl","http://sun.ora.ma/config.sun.ora.ma.xml");
            so.write("videoPlayer4");
            // -->
        </script>

        <p><p><a href="http://blogs.oracle.com/geertjan/entry/top_10_netbeans_apis_part">Part 8: Palette API</a></p>
        <div id="videoPlayer5"></div>
        <script type="text/javascript">
            <!--
            var so = new SWFObject("http://www.netbeans.tv/images/playerWidget.swf" , "pv", "410", "331", "8", "#666666");
            so.addParam("quality", "high");
            so.addParam("allowScriptAccess", "sameDomain");
            so.addParam("allowFullScreen", "true");
            so.addVariable("autoPlay", "false");
            so.addVariable("urlFileIdList", "6795");
            so.addVariable("show_title", "true");
            so.addVariable("PLAY_CALLBACK","emphasize");
            so.addVariable("resizeLimitMax","true");
            so.addVariable("lang", "en");
            so.addVariable("flash_play","true");
            so.addVariable("author_name","NetBeans.tv");
            so.addVariable("configUrl","http://sun.ora.ma/config.sun.ora.ma.xml");
            so.write("videoPlayer5");
            // -->
        </script>

        <!--<p><a href="http://netbeans.tv/screencasts/Top-10-NetBeans-APIs-(Part-9)-443/">Part 9: Visual Library API</a></p>-->
        <div id="videoPlayer6"></div>
        <script type="text/javascript">
            <!--
            var so = new SWFObject("http://www.netbeans.tv/images/playerWidget.swf" , "pv", "410", "331", "8", "#666666");
            so.addParam("quality", "high");
            so.addParam("allowScriptAccess", "sameDomain");
            so.addParam("allowFullScreen", "true");
            so.addVariable("autoPlay", "false");
            so.addVariable("urlFileIdList", "6796");
            so.addVariable("show_title", "true");
            so.addVariable("PLAY_CALLBACK","emphasize");
            so.addVariable("resizeLimitMax","true");
            so.addVariable("lang", "en");
            so.addVariable("flash_play","true");
            so.addVariable("author_name","NetBeans.tv");
            so.addVariable("configUrl","http://sun.ora.ma/config.sun.ora.ma.xml");
            so.write("videoPlayer6");
            // -->
        </script>

        <p><p>More coming soon...

    </body>
</html>
