<HTML>
<HEAD>
<title>netbeans.org: NetBeans Weekly News Issue #216 - Nov 02, 2005</title>
<META NAME="description" CONTENT="Newsletter 2005-11-02">

<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# 02-Nov 17:10 CET                          -->
<!-- ====================================================== -->
</HEAD>
<BODY>

<h1>NetBeans Weekly News<br>Issue #216 - Nov 02, 2005</h1><hr>
NetBeans Weekly News, a newsletter for the NetBeans community<br>
Issue #216 - Nov 02, 2005<br>
URL: &lt;<a href='https://netbeans.org/community/news/newsletter/2005-11-02.html'>https://netbeans.org/community/news/newsletter/2005-11-02.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 Weekly News, a newsletter for the NetBeans community
Issue #216 - Nov 02, 2005
URL: &lt;<a href="https://netbeans.org/community/news/newsletter/2005-11-02.html">https://netbeans.org/community/news/newsletter/2005-11-02.html</a>&gt;
Interested in becoming a newsletter editor ? We're always looking
for editors to help out - contact nbnews_contrib@netbeans.org
Please send news contributions to nbnews_contrib@netbeans.org
-----------------------------------------------------------------
NetBeans Software Day at JavaOne Japan
This is the last invitiation to join the NetBeans software team on Monday, November
7, 2005 for NetBeans Software Day. You don't have to be registered for JavaOne to
attend. For more information and to register visit:
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=109">http://services.netbeans.org/newsletter/story.php?id=109</a>&gt;

New NetBeans Tutorial - Create Plugins Quickly & Easily
Edgar Silva's blog has a nice tutorial demonstrating how to create a NetBeans Module/
Plugin. It is a quick demo that shows how easy it can be to create plugins using
NetBeans IDE 5.0.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=110">http://services.netbeans.org/newsletter/story.php?id=110</a>&gt;

The Internet Inside the IDE?
The creativity of NetBeans plug-in developers is astounding. In the last few weeks,
Ludo created a google toolbar, Rich integrated the JDIC native browser, and Masoud
came up with a fantastic Gmail checker. Want to see them all in action at the same
time? Hop over to this entry in Geertjan's blog:
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=111">http://services.netbeans.org/newsletter/story.php?id=111</a>&gt;

Two Surprises When Debugging a NetBeans Plug-in
NetBeans contains an almost magical button called "Apply code changes". When
debugging, you can change the code of your application and reload it in the JVM.
Unless you change method signatures the debugging session continues and you can
debug the new code. What's cool is that it works for plug-ins as well:
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=112">http://services.netbeans.org/newsletter/story.php?id=112</a>&gt;

Adventure Builder Application Module for NetBeans 5.0
Adventure builder Application is is reference application that showcases web services
on the J2EE platform. I created new NetBeans module that includes this application.
You can go to this blog, download nbm and play with this application in NetBeans.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=113">http://services.netbeans.org/newsletter/story.php?id=113</a>&gt;

Change in API of SimpleCancellableTask
There is a new WaitScreen component in Mobility Pack 5.0. You can use it for a task
that usually takes a lot of time (like connecting to server) and can either succeed
or fail. It used Runnable and it failed when a RuntimeException appreared. We
discovered that it doesn't fit to all users and so it was changed. More details at:
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=114">http://services.netbeans.org/newsletter/story.php?id=114</a>&gt;

The Java Posse
Join hosts Dick Wall, Tor Norbye, and Carl Quinn each week as they bring you new
commentary, and interviews about Java technology and the Java developer community.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=115">http://services.netbeans.org/newsletter/story.php?id=115</a>&gt;
-----------------------------------------------------------------
This issue of NetBeans Weekly News was instantiated by Robert Demmer.
Next week issue's chief editor will be Robert Demmer.
-----------------------------------------------------------------

</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>