A lot of new functionality is being integrated into NetBeans in 6.0 - VisualWeb, UML, SOA, Languages Support ( Ruby, JavaScript), Mobility, Profiler, ... and the UI starts to be overcrowded. This page is dedicated to an effort to review and improve the UI of the new "big IDE" in NetBeans 6.0.



Completed documents

Working documents

Main Menu


  • Add actions into the Source menu for code completion, editor hints, method parameters, etc.
  • Move "Apply Diff Patch" into Versioning menu
  • Remove "Help" and "Views" menus from Profiler menu
  • Dynamic Help should only be available from Window menu
  • Eliminate "BPEL debugging" submenu and move the BPEL items into "Debugging" submenu.
  • Move IDE Log into View menu
  • Move Preprocessor Blocks submenu from Edit to Source


  • Consider changing ;Clone Document" to "Split Document" or something like that
  • Consider moving "Documents..." item from Window to Navigate menu
  • Consider merging result/preview windows (Versioning Output, Search Results, Refactoring Preview, JUnit Test Results, Find Usages Results, Update Results)
  • Intergrate Find actions (regular find, selection, quick find) and Find in Projects actions (find in projects, find in model).
  • Integrate Safe Delete with regular Delete
  • Integrate Refactoring Undo/Redo with regulard Undo/Redo
  • Merge Inspector, Mobility Inspector and Navigator
  • Sometimes the main menu shows action shorcuts with '+' sometimes with '-'. It's then inconsistent with shortcuts shows in toolbar button tooltips. It probably should be platform specific.
  • Define behavior of contextual actions in main menu. Whether they should show the context in the menu item label or not.
  • Suggestions: If it was Annotate "...", History of "...", Revisions of "..." it'd read faster. I was thinking about editor popup menu where the name of file would be disambiguated and a CVS menu could just say "Annotate", "History" (or "Search History"). Not sure if people use it often enough to justify this.
  • Make sure the context is properly visible inside dialog that shows up after invoking the action.
  • What's the idea behind starting the app using Run Main Project action in Run menu and stopping/restarting it by strange Stop Build/Run <project name> (Run) or Repeat Build/Run <project name> (Run) actions in Build menu.
  • After moving the manager dialogs into the options dialog, consider integrating the following actions into Tools menu: Create DTD, Create CSS, Transform XML File, Reverse Engineer
  • Add Existing Item... - I removed it from the main menu as it only works with C/C++ projects and it's a typical contextual menu item. If it works with other project types as well, than we can move it back.
  • Batch Build... - should be shared between C/C++ and Mobility.
  • Windows have icons only because of the sliding mode. If we get rid of the icons in the sliding mode, we would remove them from the window menu as well.
  • Consider adding a "Preview GUI Form" into the main menu. Ideally some kind of preview action would be consistently used for other visual editors. Then it definitely should be in the main menu. See issue # 109832
  • Consider renaming the Build menu to Run and Run menu to Debug. Then move the run and test menu items from the new Debug menu into the new Run menu.

Tools Menu


  • Make the main Tools menu static. It means all items are always visible, they are just disabled if they aren't applicable.
  • Remove "Manager" word from the title of former manager dialogs. Other text that refers to this UI, such as "Server Manager lets you install and customize J2EE servers." should be changed to smtg like "Servers dialog lets you install and customize J2EE servers.", right?


  • Just a thought for Jano: now that we have Java|Nb|Ruby (in future) Platform, should not the Servers be called Java EE Servers? We also have DB servers and Rails servers. Neither is represented here, at this point, but users may still look for those in Servers.
  • Merge Palette dialogs
  • Get rid of the Component Libraries dialog. Merge it with regular Libraries dialog and consider what to do with regard to Palette. Take a look at the runtime tab in component libraries and theme libraries!

Project Contextual Menus


  • Remove word "Project" from contextual menu items
  • Integrate CVS and Subversion submenus into Versioning submenu
  • Move "Apply Diff Patch" into Versioning menu
  • Remove Tools menu from project nodes (it can show up if a 3rd party plugin adds an item into the Tools menu) but in plain standard distribution the Tools menu shouldn't be shown.


  • In mobility projects I suggest to replace very long name "Build Selected Project Configurations..." with simpler "Batch Build..."
  • Reverse Engineer is currently available in contextual menu of all projects. Does it really belong everywhere?
  • Versioning and Local History isn't available in SOA and UML menus. It probably should be there.
  • UML project should have a standard New submenu for creating Diagram, Package, Element (with access to New File wizard).
  • What are the "Edit/Clean Application Configuration" items for in Composite Application contextual menus?
  • Run/Deploy/Undeploy/Redeploy inconsistencies in multiple projects.
  • Maybe rename Run to "Deploy (Run)" in Web and Enterprise projects.
  • Reverse Engineer...??? AFAICT, part of the functionality is accessible from New Project wizard, select UML > Reverse Engineer a Java Project. Using this project wizard you can create a new UML project. The Reverse Engineer action also allows you to add the models into an existing UML project so it does not have a full replacement anywere else. IMO the action should be removed from project popup menu and instead there should be a wizard in UML project that would allow to select a project/package/class to be reverse engineered. Or we can keep the action as it is....

New File Wizard


  • removed SOA category from "non-SOA" projects
  • removed Ruby category from "non-ruby" projects; Ruby script template moved into Other category in "non-ruby" projects
  • removed Ant category; Ant templates moved into Other category in all projects
  • removed XML Sample category; sample templates moved into XML category
  • renamed "Java GUI Forms" to "Swing GUI Forms"
  • renamed "AWT Forms" to "AWT GUI Forms" and moved in up one level in the tree (all subnodes in categories were eliminated)
  • removed Sample Forms category; sample templates moved into "Swing GUI Forms" category
  • split Web category into two categories: "Web" and "Web Java Classes"
  • renamed "Sun Resources" category to "GlassFish"
  • CSS is more often used in various web applications (JSP, web frameworks, Rails, etc.) then in the context of XML. The template is hard to find in XML category and should be moved to a better location. Unless we find a better category I suggest Other - it'll be next to HTML and XHTML files which seems appropriate. Potentially related to this: we will need placement for javascript templates

when we add javascript editing support.

  • Fix size of New File wizard. Try to eliminate categories and then make the wizard size a bit bigger so that the scroll bars don't show up for default font size.


  • Merge templates like "Main Class" with "Java Class", "Applet" with "JApplet", "swing forms" with "awt forms", maybe others.
  • Consider removing categorization completely. It would require reducing number of templates to resonable number.
  • Replace description area by one-line readonly text field.
  • Integrate Rails generators into New File wizard.
  • See NewEmptyFile for an idea how to speed up creation of empty files.

New Project Wizard

  • "General" project category (category name) - long discussion and then no change made for 5.5, now it's even worse with many more categories added.
  • Existing sources / existing build script wizard - users confused about which one to use


  • "Set as Main Project" check box position - make it consistent for all project types


  • Move the list of categories from the left side of the options dialog to the top. That's how it works in NetBeans Options dialog on Mac and recently also in Firefox/Thunderbird on Windows.
  • Change the color of Miscellaneous pane from white to standard JPanel color
  • Consolidate "Java Code" and "Editor" options
  • Move UML options into the standard Options dialog from Advanced dialog or remove the UML category from standard dialog.
  • Consider removing the Advanced options dialog
  • For the future merge manager dialogs into the Options dialog
  • searching in keymap is a problem. Doesn't support basic use cases: find an action; find unused shortcut; assign shortcut even if it is used by other action.

Find Dialog

  • (???) Find usages: Maybe don't show the dialog but permit to filter results. Check other IDEs.
  • (???) Incremental Find feature: Put into the main menu. Consider integrating with the find dialog. Where to put it - into the editor toolbar, or keep it where it is now?
  • (???) DropDownButton (Miloslav Metelka) - (Roman) Same issue again. See above.

Runtime Tab

  • For 6.0, it has been decided to go with the simple proposal of renaming the Runtime tab to Services tab and reorder the nodes. See Pavel's document for details. There was a discussion about what to do post 6.0. In a nutshell these are some of the ideas that need to be fleshed out in more details:
  • The Services tab will go away.
  • There will be dedicated tabs (not shown OOB) or manager dialogs for each of the functional areas for managing those resources.
  • The drag source portions of the functionality will be merged into Palette.


  • Multiview - Revisit possible solutions for 6.0. Who would be the owner? Jirka Sedlacek?.
  • Split editor functionality (Roman Strobl) - (???) Consider renaming Clone action to Split - it would also do the split. ;-)
  • Output Window docking location (Tor Norbye) - (???) Check other IDEs. Definitely something to consider.
  • Navigator Docking Location (Tim Boudreau) - (???) We should take a look at that together with the output window issue.

About Box

In current build when one opens the Help:About dialog it opens on the About tab which simply shows the splash screen. The interesting information is on the Details tab. Granted it only takes one click to go to Details tab but IMHO these two tabs chould simply be merged or at the very least the selected tab should be remembered (persistently).

The About tab does not contain much information (just the "...based on CDDL...", the version is already in Detail tab) so maybe merging would be simple - add one line into Detail tab and remove the About tab.

In eclipse that you can bring up IDE error log from the about box, there is a button View Error Log in Configuration Details and it opens the error log in browser. I think that would be helpful when you try to file a bug, instead of digging the log on disk.


  • Plug-in vs Plugin (nb.org - main tab, download page; IDE - new project wizard, Tools menu)


  • Updated toolbar icons - (Ondra) Maybe try to redesign build, clean and build, attach debugger, attach profiler.
  • Icon with list - (Roman) Need to call a meeting regarding the drop-down buttons in the main toolbar.
  • Attach Debugger... action missing from the toolbar - (Roman) See above (icon with list).


  • Dark color theme (Tor Norbye) - (???) Consider for M10. Check whether it works for other languages.


Winston: -- I opened a NB 5.5.1 project in NB 6.0. There were a total of 9 dialogs popped up.

Resolve missing Data Source (1) Install embedded component library ... (1) build-impl.xml modified externally regenerate .. (5) Resolve Missing resources (2)

Some were blocking and popped one after the other (especially "build-impl.xml modified externally regenerate .." dialog) --


  • "Manager" dialogs:
  • Many libraries names in Libraries dialog do not fit into the list horizontally, there is no way to resize it - looks ugly.
  (Recheck after  #44035 is merged. -jglick)
  • Each of the dialogs has slightly different size - nb platforms, java platforms, servers, etc.
  • Explain badges in tooltips
  • Remove the left step pane from all wizards. It's an old-fashion wizard style, takes up space and doesn't give that much value.
  • Merge "Main Class" template into "Java Class" as an option "Generate main method".
  • Move Gesture Collector into the status line.
  • Remove "Manager" from manager dialog titles.
  • Remove "Tree" and "Elements" views from Navigator.
  • Editor should remember whole history of previous documents and switch tabs accordingly when closing tabs.
  • Plugin dialog - maybe replace the settings tab by "Settings" button and show "Proxy Settings" if connection doesn't work.
  • Empty progress bar for running processes. See the spec and issue #95201.
  • Too many warning dialogs pop up at project open. See issue #109531.
  • Replace "Manage Platform..." buttons and other "Manage..." buttons by "Manage..." items in combo boxes (JDK, configurations, servers, etc.)
Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo