<HTML>
<HEAD>
<title>netbeans.org: NetBeans Weekly News Issue #234 - Apr 04, 2006</title>
<META NAME="description" CONTENT="Newsletter 2006-04-04">

<link rel="stylesheet" type="text/css" href="/netbeans.css">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">

<!-- ====================================================== -->
<!-- Please do not edit this file by hand, it is rebuilt    -->
<!-- automatically and your changes will be lost.  Contact  -->
<!-- webmaster for details.  Rebuilt at                     -->
<!-- #TIMESTAMP# 04-Apr 16:10 CEST                          -->
<!-- ====================================================== -->
</HEAD>
<BODY>

<h1>NetBeans Weekly News<br>Issue #234 - Apr 04, 2006</h1><hr>
NetBeans Weekly News, a newsletter for the NetBeans community<br>
Issue #234 - Apr 04, 2006<br>
URL: &lt;<a href='https://netbeans.org/community/news/newsletter/2006-04-04.html'>https://netbeans.org/community/news/newsletter/2006-04-04.html</a>&gt;<br>
Interested in becoming a newsletter editor?  We're always looking<br>
for editors to help out. Contact <a href='mailto:nbnews_contrib@netbeans.org'>nbnews_contrib@netbeans.org</a><br>
Please send news contributions to <a href='mailto:nbnews_contrib@netbeans.org'>nbnews_contrib@netbeans.org</a><br>
<hr><pre>NetBeans Mobility @ CTIA Tomorrow - Hot!
NetBeans Mobility Day at CTIA keeps getting bigger! Key mobile players,
including Sprint and Nokia, will be there. Find out what's happening
with Java ME and NetBeans. With great door prizes and networking
opportunities, this is a can't-miss event for Java Mobile developers.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=371">http://services.netbeans.org/newsletter/story.php?id=371</a>&gt;

NetBeans Software Day Brazil & Russia
If you are in either Brasilia, Sao Paulo or Moscow now is your chance
to take part in the latest WorldTour events. More information:
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=372">http://services.netbeans.org/newsletter/story.php?id=372</a>&gt;

Got JavaBeans? Here's a Way to Distribute Them...
Tim Boudreau has just created BeanNetter, a new NetBeans plug-in
generator. It is a wizard, and you point it at a JAR file with some
Swing components in it. It finds all the declared JavaBeans that are
there, and lets you chose to add or remove other classes. Read more...
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=373">http://services.netbeans.org/newsletter/story.php?id=373</a>&gt;

Elvis, Meet NetBeans
Brian Leonard has just added fuel to the Elvis hysteria by
implementing the Cay S. Hortsmann's article, Elvis Meets Glassfish in
a short tutorial using NetBeans 5.5 Enterprise Preview.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=374">http://services.netbeans.org/newsletter/story.php?id=374</a>&gt;

Importing a 3rd Party Project as a NetBeans Free-From Project
This document shows you how to import a real 3rd party project built
with the Ant tool into NetBeans IDE as a free-form project. This
tutorial will show not only how to import the project but also how to
change the build script to better utilize what NetBeans project
infrastructure can offer.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=375">http://services.netbeans.org/newsletter/story.php?id=375</a>&gt;

Deploy and Run Mobile Applications using Sun Java Application Server
You've got a nice Mobile application -- now wouldn't it be cool if
people could just download and install it over the air? This Tech Tip
describes how to deploy and run a Java ME application using the Sun
Java Application server and OTA provisioning.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=376">http://services.netbeans.org/newsletter/story.php?id=376</a>&gt;

Running 3D Looking Glass Apps Within NetBeans
What does this mean? It means any Looking Glass application and
visualization is possible in the NetBeans IDE and the NetBeans
Platform. Take a look at Charlie Hunt's blog entry for more including
a screenshot.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=377">http://services.netbeans.org/newsletter/story.php?id=377</a>&gt;

NetBeans Mobility Pack 5.0 for CDC Quick Start Guide
This document takes you through the basics of using NetBeans IDE 5.0
to create a Java Platform, Micro Edition (Java ME platform), Connected
Device Configuration (CDC) application. The tutorial takes you through
some of the basic steps of working with the new project system.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=378">http://services.netbeans.org/newsletter/story.php?id=378</a>&gt;

New NetBeans Plug-ins
Charles Ditzel is constantly following developments around NetBeans and
become a rich resource for finding out about all of the cool new plug-
ins. Find more information on Simple Local History with Diff Viewer,
Decompiler and Web Search here:
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=379">http://services.netbeans.org/newsletter/story.php?id=379</a>&gt;
Also two more plug-ins: Cut-And-Paste History and Bytecode Browser here:
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=380">http://services.netbeans.org/newsletter/story.php?id=380</a>&gt;

Multimedia Presentations About Java
Roumen provides useful links to many multimedia presentations where
you can learn more both about various Java technologies and Java IDE's.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=381">http://services.netbeans.org/newsletter/story.php?id=381</a>&gt;

Camel Case Movement and Selection Module Sources Available
Sandip Chitale's Camel Case Movement and Selection module sources are
available in contrib/. Read all about it on his blog.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=382">http://services.netbeans.org/newsletter/story.php?id=382</a>&gt;

The NetBeans Golem... Revealed
What happens when you break a NetBeans build? You are punished...
http://services.netbeans.org/newsletter/story.php?id=383</pre><hr>This issue of NetBeans Weekly News was brought to you by Robert Demmer.<br>
The next editor will be Robert Demmer. (New volunteers are welcome!)<br>
Please send news contributions to <a href='mailto:nbnews_contrib@netbeans.org'>nbnews_contrib@netbeans.org</a></BODY>
</HTML>