How to change main title contents?

Apache NetBeans Wiki Index

Note: These pages are being reviewed.

By default, the main title shows the branding name plus the build number.

For production deployment, it could be required to only show the branding name.

There are several possible steps to achieve it:

Remove the build number

The title of your application is located in a resource bundle:

...\branding\modules\org-netbeans-core-windows.jar\org\netbeans\core\windows\view\ui\Bundle.properties

As of NetBeans 6.9, it is possible to use the Branding Editor to edit this resource.

To remove the version number prior to 6.9, manually edit the file and remove existing {0} tokens:

:: CTL_MainWindow_Title=AppBrandingName {0} :: CTL_MainWindow_Title_No_Project=AppBrandingName {0}

so it will be as:

:: CTL_MainWindow_Title=AppBrandingName :: CTL_MainWindow_Title_No_Project=AppBrandingName

Build number will not show in the application main title.

Change main title at runtime

Inside the ModuleInstaller class for the GUI module:

@Override
public void restored() {
  // some other code may go here...
   WindowManager.getDefault().invokeWhenUIReady(new Runnable() {
     @Override
     public void run() {
      JFrame mainFrame = (JFrame) WindowManager.getDefault().getMainWindow();
      mainFrame.setTitle("Modified main title");
     });
   }
  // some other code may go here...
}

A word of caution related to porting existing Swing applications to NetBeans Platform.

This will not work!

@Override
public void restored() {
  // some other code may go here...
   SwingUtilities.invokeLater(new Runnable(){
     @Override
     public void run() {
      JFrame mainFrame = (JFrame) WindowManager.getDefault().getMainWindow();
      mainFrame.setTitle("Modified main title");
     });
   }
  // some other code may go here...
}

Although it will not show any errors, the main title will not be set! in this case.