Download NetBeans!

20080623 Monday June 23, 2008

Notes for NetBeans Platform 6.5 Milestone 1

I've been looking at recent builds for a few weeks, making changes to the JavaHelp in the NetBeans Platform area. Here are my notes, which will be formalized later so currently is just a draft:

  • API Changes: See NetBeans API Changes Since Last Release.

    Highlights:

    • New Code Generator SPI
    • User can drop text into palette
    • Loaders are registered in layer
    • No need for DataLoaders anymore
    • New OutlineView component replaces TreeTableView component
    • New resource bundle properties for window system customization
    • Image methods in Utilities class now replaced by new ImageUtilities class

  • NetBeans Platform Tooling Changes:

    • Code Generator wizard. New, supports the new Code Generator SPI.

    • Window component wizard. New field in wizard for keeping preferred size when minimized.

    • Options Panel wizard. "Create Secondary Panel", i.e., upper part of the wizard, lets you add a subpanel to an existing panel, not just the Miscellaneous panel.

    • File Type wizard. No more DataLoader and BeanInfo class generated. Instead, this is how DataObjects are now registered:
      <folder name="Loaders">
          <folder name="text">
              <folder name="x-abc">
                  <folder name="Actions">
                      <file name="org-openide-actions-CopyAction.instance">
                          <attr name="position" intvalue="500"/>
                      </file>
                      <file name="org-openide-actions-CutAction.instance">
                          <attr name="position" intvalue="400"/>
                      </file>
                      <file name="org-openide-actions-DeleteAction.instance">
                          <attr name="position" intvalue="700"/>
                      </file>
                      <file name="org-openide-actions-FileSystemAction.instance">
                          <attr name="position" intvalue="200"/>
                      </file>
                      <file name="org-openide-actions-OpenAction.instance">
                          <attr name="position" intvalue="100"/>
                      </file>
                      <file name="org-openide-actions-PropertiesAction.instance">
                          <attr name="position" intvalue="1300"/>
                      </file>
                      <file name="org-openide-actions-RenameAction.instance">
                          <attr name="position" intvalue="800"/>
                      </file>
                      <file name="org-openide-actions-SaveAsTemplateAction.instance">
                          <attr name="position" intvalue="1000"/>
                      </file>
                      <file name="org-openide-actions-ToolsAction.instance">
                          <attr name="position" intvalue="1200"/>
                      </file>
                      <file name="sep-1.instance">
                          <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
                          <attr name="position" intvalue="300"/>
                      </file>
                      <file name="sep-2.instance">
                          <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
                          <attr name="position" intvalue="600"/>
                      </file>
                      <file name="sep-3.instance">
                          <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
                          <attr name="position" intvalue="900"/>
                      </file>
                      <file name="sep-4.instance">
                          <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
                          <attr name="position" intvalue="1100"/>
                      </file>
                  </folder>
                  <folder name="Factories">
                      <file name="AbcDataLoader.instance">
                          <attr name="dataObjectClass" stringvalue="org.nb.demomodule5.AbcDataObject"/>
                          <attr name="instanceCreate" methodvalue="org.openide.loaders.DataLoaderPool.factory"/>
                          <attr name="mimeType" stringvalue="text/x-abc"/>
                      </file>
                  </folder>
              </folder>
          </folder>
      </folder>

      Here's what you get when you now complete the File Type wizard:

      Related document: http://wiki.netbeans.org/FitnessAgainstForgetfulness

    • Project Properties dialog box. Right-click an application, choose Properties, and now you have a new tab in the Project Properties dialog box, called "Window System". Use it to tweak whether the windows should be draggable, resizable, maximizable, etc.

I will get the above notes verified and they'll be part of some kind of release notes at some point.

Jun 23 2008, 10:48:49 PM PDT Permalink

Trackback URL: http://blogs.sun.com/geertjan/entry/netbeans_platform_6_5_milestone
Comments:

Hi Geertjan,
I am very happy to see the NetBeans become better.
but I want to know why the Html code auto completion removed? when I type the code like this:
<form>
<input tpye="text">
</form>

in NetBeans 6.1 when I press the Space key after "text" then the IDE auto Popup the completion window
but now in NetBeans6.5 M1 that is missing!
It's important for me ! I like it very much! I hope the Html code auto completion can come back!

Posted by gml520 on June 24, 2008 at 09:52 PM PDT #

Have they gotten around to not setting a new TextComponents text property to it's Matisse generated variable name? That's such a PITA.

Would rather it used a layer decorator to label components if it must. Something like JXLayer or maybe Swing Explorer might?

Posted by Richard Osbaldeston on June 25, 2008 at 06:46 AM PDT #

Actually being able to disable double-clicks from automatically generating ad-hoc event listeners would be a help too.

I'm more likely to be using PresentationModels and bindings these days and forever having to fiddle about removing unintentional empty listeners.

Posted by Richard Osbaldeston on June 25, 2008 at 06:50 AM PDT #

What are the issue numbers of the problems referred to above?

Posted by Geertjan on June 25, 2008 at 07:40 AM PDT #

the issue URL:
http://www.netbeans.org/issues/show_bug.cgi?id=138306

Posted by gml520 on June 25, 2008 at 10:13 PM PDT #

Can we expect Features-on-Demand Functionality in 6.5?

Posted by Varun on July 01, 2008 at 05:20 AM PDT #

Nope. It would require a LOT of analysis and work to implement. Not sure if/when that will be done. You could implement it in your own applications though.

Posted by Geertjan on July 01, 2008 at 05:27 AM PDT #

Hey! Geertjan, is it possible to extend the matisse module to generate source code for another language/platform than Java/Swing? Is there any API for it?
I read you your blog posts about using matisse to create Groovy UI but am still hung up.

If it is not supported are there any chances of such support coming in the next release(6.5)?

Posted by Rohit on July 03, 2008 at 06:29 PM PDT #

I have recently installed NetBean 6.5. I created an Entity class from a database. I created a controller to utilize the Named Queries. When I deployed the distribution (war) file I obervered the message "NamedQuery of name: Config.findByKey not found". When I looked into the distribution file I noticed the Persistence Unit, Entity class, and Controller class where not in the distibution file. Why and how can it be corrected?

Posted by Robert Ladd on July 16, 2008 at 05:59 AM PDT #

Maybe you should ask that question at nbusers@netbeans.org, Robert.

Posted by Geertjan on July 16, 2008 at 06:01 AM PDT #

Rohit, no, I don't think that's possible nor is it planned to be possible anytime that I am aware of.

Posted by Geertjan on July 16, 2008 at 06:02 AM PDT #

Post a Comment:

Name:
E-Mail:
URL:

Your Comment:

HTML Syntax: NOT allowed