<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title>Building an Application on the NetBeans Platform - NetBeans IDE Sample Applications</title>
    <meta name="description" content="Java Rich Client Platform (RCP) example program that builds an RSS feed-reader on the NetBeans Platform.">
    <link rel="stylesheet" href="https://netbeans.org/netbeans.css">
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    
    <link rel="stylesheet" type="text/css" href="../../netbeans.css" media="screen">
    <link rel="stylesheet" type="text/css" href="../netbeans_sample.css" media="screen">
</head>
<body>
<h1>Get Inspired. Get Started.</h1>
<table class="b-none" width="100%">
<tr class="valign-top">
<td>
    
    <!-- +++++++++++++++++ begin insert new content +++++++++++++++++ -->
                
    <!-- +++++ Add Sample Description and Image +++++ -->
    <div id="sampledesc"><!-- begin sampledesc -->
        <h2>Building an Application on the NetBeans Platform</h2>
        
        <div id="samplethumb"><!-- add sample image and link here -->
            <!-- Image is only linked when flass demo is available -->    
            <img src="../../images_www/sample-catalog/feedreader.jpg" alt="feedreader image" align="top">
        </div>
        
        <p>This sample and the accompanying tutorial show how to build an RSS feed  reader on top of the NetBeans Platform. </p>
        <p>When you build your desktop  application on top of the NetBeans Platform, you get everything from a  first-class windowing system to options management and live updates  functionality - all for free.</p>
        <!-- Remove list when demo or tutorial unavailable -->
        <ul>
            <li><a href="http://platform.netbeans.org/tutorials/nbm-feedreader.html">Read the tutorial</a></li>
        </ul>
        
    </div><!-- end sampledesc -->

                
    <!-- +++++ Add Required Software Here +++++ -->
    <br style="clear:both;">
    <div style="float:left;width:45%;">
        <h3><b>Get NetBeans IDE</b></h3>
        <br>
        <a href="../../downloads/index.html">
            <img src="../../images_www/v5/download-nb-button3.gif" alt="Download NetBeans" class="align-left b-none" height="27" width="165" style="margin:4px 10px 4px 0;clear:right;">
        </a>
        <br style="clear:both;">
        <br>
        <p class="orange font-13">NetBeans IDE 6.9, 7.0, 7.1, 7.2, Java bundle</p>
        <p>&nbsp;</p>
    </div>
    
    <!-- +++++  Add Sample Location Here +++++ -->
    <div style="float:right;width:45%;">
        <h3><b>Get the Sample</b></h3>
        <!-- Commenting out image because it's only used for samples on the Update Center
                    <img src="../../images_www/v5/universal-download.png" alt="Download NetBeans" class="align-left" class="b-none" height="32" width="32"> -->
        <br style="clear:both;">
        <p><img src="../../images_www/v4/arr_r3.gif" alt="arrow"> This sample comes bundled with NetBeans IDE</p>
        <p><img src="../../images_www/v4/arr_r3.gif" alt="arrow"> Choose: File &gt; New Project &gt; Samples &gt; NetBeans Modules &gt; FeedReader</p>
    </div>
    <br style="clear:both;">
    
    <!-- +++++++++++++++++ end insert new content +++++++++++++++++ -->

    <div class="b-top">
        <br>
        <img src="../../images_www/sample-catalog/update-center.png" alt="Download NetBeans" class="align-left b-none" height="32" width="32">
             <h3><b>&nbsp;NetBeans Update Center</b></h3>
        <p>&nbsp;</p>
        <p>The Update Center is your source for accessing the latest samples
            highlighting emerging technologies, plug-ins from NetBeans and our
            partners, and patches to make sure your IDE is running smoothly. As
        fast as we make it, we'll ship it to you via the Update Center.</p>
        <p><b>Start now by having the latest Top 5 samples delivered  directly to your IDE.</b></p>
        <br>
        <div class="feedback-box" ><a href="/about/contact_form.html?to=3&amp;subject=Feedback:%20RSS%20feed%20reader%20Sample">Send Feedback on This Tutorial</a></div>
    </div>
</td>                                    
<td style="padding: 25px 0px 0px 20px;" width="170" class="b-left">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" height="400" width="154">
    <script type="text/javascript">
            document.write('<param name="movie" value="../../images_www/sample-catalog/menu.swf'+window.location.search+'" />');
    </script>
    <param name="quality" value="best" />
    <param name="play" value="true" />
    <script type="text/javascript">
            document.write('<embed height="400" pluginspage="http://www.macromedia.com/go/getflashplayer" src="../../images_www/sample-catalog/menu.swf'+window.location.search+'" type="application/x-shockwave-flash" width="154" quality="best" play="true">');
    </script>
</object>
<p class="align-center"><small><a href="master-index.html">View all samples</a></small></p>
</td>
</tr>

</table>
</body>
</html>