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

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

<h1>NetBeans Weekly News<br>Issue #265 - Nov 09, 2006</h1><hr>
NetBeans Weekly News, a newsletter for the NetBeans community<br>
Issue #265 - Nov 09, 2006<br>
URL: &lt;<a href='https://netbeans.org/community/news/newsletter/2006-11-09.html'>https://netbeans.org/community/news/newsletter/2006-11-09.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>Flash presentation: Rapid Java EE development with NetBeans 5.5
Roumen has a new flash presentation which includes 5 flash demos of NetBeans
5.5, including demos of JAX-WS web sevices, Mobility Pack, SOA tools, Java
Persistence API and the Visual Web Pack:
<&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=888>">http://services.netbeans.org/newsletter/story.php?id=888></a>&gt;

NetBeans Podcast Episode #17
NetBeans evangelists have gathered in Prague and they discuss new features of
NetBeans 5.5 in the latest episode of the NetBeans podcast:
<&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=889">http://services.netbeans.org/newsletter/story.php?id=889</a>&gt; >

NetBeans: The Complete Overview
In this tech talk, sponsored by Sun Microsystems, NetBeans Architect Pavel Buzek
explains how Java EE 5 simplifies development and how Netbeans adds more ease of
use with code completion for database mapping, wizards for building complete
applications from existing data, and editing annotations. (October 31, Tech
Talk)
<&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=890>">http://services.netbeans.org/newsletter/story.php?id=890></a>&gt;


JavaTools Newsletter Special Feature: The 30 Days IDE Swap Experiment
Wouldn't be interesting if an Eclipse fan would use NetBeans for a while and
vice-versa, so we could see what features the users miss most on one IDE and
then, in the end, provide information to make both IDEs better? Four volunteers
from four different countries accepted the challenge of using a different IDE
for 30 Days. Here are their journals during the experiment and their final
interviews. If you ever thought about moving to another IDE, their stories will
give you some interesting information.
<&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=891>">http://services.netbeans.org/newsletter/story.php?id=891></a>&gt;

jMaki Support in NetBeans
Ludo has extended his jMaki support module. It now includes wizards that let you
specify the layout of your JSP page. No need to know about CSS stylesheets,
because this wizard generates  all the necessary CSS styles for you. Check it
out here: 
<&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=892>">http://services.netbeans.org/newsletter/story.php?id=892></a>&gt;

Web developers and module development
You're a web developer, creating some JSP pages and servlets and so on. Do you
know how easy it is to add new functionality to the IDE? Here, in Geertjan's
blog, you find out how to create a new menu item that adds <b></b> tags around a
selected text:
<&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=893>">http://services.netbeans.org/newsletter/story.php?id=893></a>&gt;

Charles Ditzel and Looking Glass
"NetBeans is a great environment to work on Looking Glass," writes Charles
Ditzel in his blog
(&lt;<a href="http://cld.blog-city.com/netbeans_ide_55_tutorial__developing_looking_glass_sof">http://cld.blog-city.com/netbeans_ide_55_tutorial__developing_looking_glass_sof</a>&gt;
tware.htm). He also points out a great tutorial called "Building and Running
Project Looking Glass with NetBeans"
<&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=894>">http://services.netbeans.org/newsletter/story.php?id=894></a>&gt;

Swing on GlassFish!
You can deploy your Swing application to GlassFish. Find out how here:
<http://services.netbeans.org/newsletter/story.php?id=895></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>