<HTML>
<HEAD>
<title>netbeans.org: NetBeans Weekly News Issue #246 - Jun 27, 2006</title>
<META NAME="description" CONTENT="Newsletter 2006-06-27">

<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# 27-Jun 21:23 CEST                          -->
<!-- ====================================================== -->
</HEAD>
<BODY>

<h1>NetBeans Weekly News<br>Issue #246 - Jun 27, 2006</h1><hr>
NetBeans Weekly News, a newsletter for the NetBeans community<br>
Issue #246 - Jun 27, 2006<br>
URL: &lt;<a href='https://netbeans.org/community/news/newsletter/2006-06-27.html'>https://netbeans.org/community/news/newsletter/2006-06-27.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>Sun Adds Java DB and Swing Visual Designer to Java Development Kit and
Enters Next Phase for Java Platform Standard Edition 6
Sun has announced it will be incorporating Java DB, the Sun supported
distribution of the open source Apache Derby Project, as well as the
Group Layout component from the NetBeans GUI Builder code-named Project
Matisse into the latest version of the Java Platform Standard Edition 6
(Java SE 6) Java Development Kit (JDK). Full press release:
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=584">http://services.netbeans.org/newsletter/story.php?id=584</a>&gt;

Interview with Timothy Cramer of NetBeans
This interview with Sun Microsystems' Senior Director of Java Tools
was filmed Live at the JavaOne 2006 in San Francisco and was just
recently posted to sys-con.tv. Check it out.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=585">http://services.netbeans.org/newsletter/story.php?id=585</a>&gt;

Solo Programadores Magazine: NetBeans IDE 5.0
Computer consultant Francisco Morero provides an overview of most
interesting new features in version 5 of the NetBeans IDE. He looks at
the GUI builder (Project Matisse), the NetBeans Profiler, and more.
Just translated by community member Janice Campbell.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=586">http://services.netbeans.org/newsletter/story.php?id=586</a>&gt;

More Power!
Do you need more power? If you're building an application that could be
modeled as independent tasks that execute in parallel, then the The
Grid Compute Server Plug-in for NetBeans IDE can help you leverage the
Sun Grid Compute Utility as a platform for its execution!
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=588">http://services.netbeans.org/newsletter/story.php?id=588</a>&gt;

Visual Mobile Designer Custom Components: Creating Mobile Splash Screens
Typically, you use a splash screen when a program starts, or to display
a logo or branding information. It gives users the first impression of
your application. As you'll see in this tutorial, the Visual Mobile
Designer (VMD) in the NetBeans Mobility Pack makes it easy to design a
splash screen for a Mobile application, and implement it using the
SplashScreen custom component included in the VMD's palette.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=589">http://services.netbeans.org/newsletter/story.php?id=589</a>&gt;

Connecting a GUI to a Derby Database with NetBeans IDE
This tutorial guides you through the process of connecting the GUI of
an application called ContactEditor to a Derby database. In the process
you will add data aware JDBC components to the GUI that will enable the
program to interact with an employee database.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=590">http://services.netbeans.org/newsletter/story.php?id=590</a>&gt;

NetBeans Enterprise Pack 5.5 - Securing Web Services
The NetBeans Enterprise Pack 5.5 Early Access comes bundled with all
the necessary runtimes to enable you to start developing secure,
identity enabled web services clients and providers. This tutorial
illustrates how you can enable SAML based authentication between a web
service client and a web service provider using the bundled Access
Manager along with the integrated support for the WS-Security standard
in Application Server's web services client and server-side containers.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=591">http://services.netbeans.org/newsletter/story.php?id=591</a>&gt;

New Features in NetBeans IDE, part 2 - Improved Code Completion
Jan Lahoda continues to walk us through the planned features of a
future version of NetBeans. Not only is the code completion undergoing
a total rewrite that improves performance, but also adds a handful of
new and cool features. Screenshots included!
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=587">http://services.netbeans.org/newsletter/story.php?id=587</a>&gt;

Powerful Reporting Functionality
Incorporating the OpenOffice.org API into a NetBeans Platform
application lets you produce highly complex text documents,
spreadsheets, and graphs. Geertjan's blog provides a lot of basic
information, including reusable code snippets, describing, for example,
how to connect to an OpenOffice.org installation and how to transfer a
Swing JTable's contents to a text table in an OpenOffice.org Writer
document. For details, read all three parts, linked here:
Part I - &lt;<a href="http://services.netbeans.org/newsletter/story.php?id=598">http://services.netbeans.org/newsletter/story.php?id=598</a>&gt;
Part II - &lt;<a href="http://services.netbeans.org/newsletter/story.php?id=599">http://services.netbeans.org/newsletter/story.php?id=599</a>&gt;
Part III - &lt;<a href="http://services.netbeans.org/newsletter/story.php?id=600">http://services.netbeans.org/newsletter/story.php?id=600</a>&gt;

Hyperlinks in Maven POMs
Milos Klient writes, "The Maven POM file contains a lot of useful
information but it's not always ready at hand. While browsing some
pom.xml file and copy-pasting the url contained there, I thought there
must be a better way. Why not have the URLs hyperlinked?" Take a look
at his results.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=592">http://services.netbeans.org/newsletter/story.php?id=592</a>&gt;

Running JBoss' Seam on GlassFish
What does it take to run JBoss's Seam on GlassFish? Just some minor
configuration changes. Read more from Brian Leonard.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=595">http://services.netbeans.org/newsletter/story.php?id=595</a>&gt;

TIP: Use NetBeans Debugger Breakpoints for Tracing
While debugging your program, have you ever wanted to simply log the
value of certain expression at a certain point in your program's logic?
Find out more from Sandip.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=593">http://services.netbeans.org/newsletter/story.php?id=593</a>&gt;

Forgot Your Admin Password? No Problem.
Are you using Sun's Java System Application Server with the NetBeans
IDE?  Did you somehow manage to forget the admin password for it?  If
so, do not worry, there is an easy way to fix the problem.  Gregg
Sporar talks about it here:
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=594">http://services.netbeans.org/newsletter/story.php?id=594</a>&gt;

mobility.netbeans.org
The first step in the open-sourcing of the mobility packs has taken
place with the creation of mobility.netbeans.org. Stop by for a visit.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=596">http://services.netbeans.org/newsletter/story.php?id=596</a>&gt;

Sun Java Wireless Toolkit 2.5 for CLDC Beta Version Released
The Wireless Toolkit group has released a beta version of WTK emulator.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=597">http://services.netbeans.org/newsletter/story.php?id=597</a>&gt;

NetBeans Evandalists #20
The latest installment of the popular cartoon by Ruth Kusterer.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=60">http://services.netbeans.org/newsletter/story.php?id=60</a>&gt; </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>