What's New in JBuilder X

By: Borland Staff

Abstract: Learn about the exciting new capabilities of JBuilder X

What's new in JBuilder X

JBuilder X contains changes in the following areas:

IDE usability improvements

There are many substantial usability enhancements in the IDE for this release of JBuilder. See the following topics for detailed information.

Configurable personalities

JBuilder has a feature called personality configuration which allows you to hide aspects of JBuilder you don't intend to use for a given work session or a given project. For instance, if you are doing Swing and Web design almost exclusively this week, you may not be interested in EJB, J2ME, CORBA, or UML visualization. For you, those features just clutter up the object gallery, menus and tabs. In this case, you can hide the EJB, J2ME, CORBA, and UML Visualization personalities. This simplifies the JBuilder UI, tailoring it more precisely to your specific needs.

You can configure personalities per project or for the default project using the Project Properties or the Default Project Properties dialog boxes.

All registered personalities are displayed in a hierarchical tree, illustrating their dependencies. Personalities required to run the IDE, such as Primetime and JBuilder, have checkboxes that are grayed out. This means that core functionality, such as editing, building, running, and debugging, are always available.

Uncheck any personality whose visible widgets you don't want to see for this work session or this project. Some widgets support more than one technology, so they won't be hidden unless all the technologies they support are unchecked.

Note: OpenTools are registered as part of the JBuilder personality by default. This ensures that your OpenTools remain available to you.

Named personality configurations

You can name and reuse personality configurations, setting up different personalities to accommodate the needs of different projects or work sessions. To do so, click the Advanced button on the Personality page to bring up the Personality Configurations dialog box.

You can always alter the configuration in the Personality page, but in order to alter a named configuration, you must click the Advanced button and change it there.

Workspace configuration

Individual panes (project, structure, content, and message panes) in the IDE can be undocked, expanded, iconified, and closed. You can create different arrangements to suit different projects, save and manage those arrangements, and click and drag file tabs to view multiple files.

The project, structure, and message panes each have title bars. The content pane has file tabs to control individual file display. These provide control for expanding, docking, iconification, and closure.

Commands to manage and control workspace configurations are available from the View menu, the Workspaces menu on the Workspaces toolbar icon, and on the right-click menu in the pane title bars and file tabs.


To control where the pane docks, press the Ctrl key and drag the pane to where you want it to dock. Dark gray reference indicators appear, showing you where the pane will dock if you let go at a given moment. Release the mouse button when the reference indicators frame the desired location.

When more than one pane is docked in a single space, each pane is given a tab, so you can switch between them without moving either.


When a pane is docked, you can quickly expand it to improve your view of its contents. You can return it to its prior position just as quickly, regaining your original real estate. Double-click or right-click the pane title bar or tab, or use the View menu.


Iconifying a pane removes a pane from view, but keeps the pane available by creating an icon for it in the left-hand edge of the IDE. Click the pane icon in the edge to slide the pane back into view. To dock the pane again, click the Dock icon (the one that looks like a drawing pin) or right-click the title bar and choose Dock.

Managing workspace configurations

You can save, rename, and manage your workspace configurations by choosing View|Workspaces or by clicking the icon furthest to the right on the main toolbar. A drop-down list appears, providing ready access to existing workspace configurations and allowing you to name, reset, and manage current and existing workspace configurations.

Tearing file tabs

You can click and drag a file's tab to split the content pane between multiple files or to undock that file in its own viewer. This allows you to view several files at once using only one instance of JBuilder.

To redock a file, grab the file tab inside the viewer and drag it back into the main content pane. Drop it when dark gray reference indicators appear around the content pane. Dragging the title bar of the viewer moves the whole viewer, but does not redock the file.

The rearranged file display is not saved as part of the workspace configuration.

Main menu

The main menu contains new Search menu options: View Todos, Go To Class Member, Add Bookmarks, and Bookmarks. With the View Todos command, it is easy to view all of your Javadoc @todos existing within Javadoc comments. You can also access the View Todos command from the project pane's context menu. For information about viewing @todos, see "Using Javadoc @todo tags in the editor".

To quickly find a class member in your Java source code, use the Search|Go To Class Member command. You can also add, edit, and find bookmarks in your source code with the Search commands, Add Bookmarks and Bookmarks.

See also

  • "Setting Bookmarks" in Introducing JBuilder

  • "Search menu" in online help

To configure or navigate to the message pane choose from some of JBuilder's new View menu options: Remove All Message Tabs and Select Message Pane Tab. JBuilder's main menu also contains an new main menu option, Refactor, with numerous refactoring options to make correcting your source code easier.

See also

  • "View menu" in online help

  • "Refactor menu" in online help

Project pane

The project pane's content page displays the traditional view of your JBuilder project, with source and resource files listed and an expandable view of the packages in your project. With the addition of a File Browser tab, the project pane has a new look and functionality. The File Browser page provides a navigation tree of your workspace, plus shortcuts to key directories, Home (user project directory), and Project (current open project).

The File Browser content displays a look similar to the File Selection dialog box with the same directory icons. The context menu provides quick access to the Project Wizard and to the Create New File and Create New Directory dialog boxes for quickly creating new code elements. You can also add favorite drives, directories, and folders to the top of the navigation tree. See "Using Favorites" for more information.

The project pane's content page provides functionality to quickly create numerous new code elements. Use the context menu to create a new class, interface, package, file, directory, folder, or directory view. You can also apply filters to the project pane to include or exclude packages and subpackages.

When you right-click in the project pane and choose View Todos, you can view your complete Javadoc @todo list in the message pane at the bottom of the IDE. See "Using Javadoc @todo tags in the editor" for more information about viewing Javadoc @todos. Also, the project pane includes another useful new feature; it allows you to run an application directly from a JAR file created with the Archive Builder wizard. See "Creating a runnable JAR file with the Archive Builder wizard" for more information.

Structure pane

The structure pane now includes useful filters to permit you to quickly find various class elements. The filters allow you to hide, show, and order structure pane data in a variety of defined ways. Multiple filters can be applied, and the resulting elements in the structure pane are the sum of the selected filters. All filters are applied by default except Flatten View and Show Types. Move your cursor over the structure pane icons at the top of the structure pane to view the tooltips displaying the filter names. See "Filtering in the structure pane" for more information.

JBuilder now makes it easier for you to find a specific element in the editor when you select elements in the structure pane. The structure pane synchronizes a selected item in the tree with the caret position in the editor. Also, when a structure pane item is obscured by the content pane, a tooltip displays the full item name.

JBuilder enhanced the structure pane context menu with new menu commands. You can expand or shrink your structure pane view with the new Expand Children and Collapse Children context menu commands. Also, the context menu's New submenu options allow you to quickly create a new inner class, base class, field, constructor, method, or Javadoc in the open source code file.

The structure pane also includes a context menu command, Fix Javadoc, to resolve Javadoc conflicts. The menu command appears only when a Javadoc conflict exists and a Javadoc Conflicts folder displays in the structure pane. This is a feature of JBuilder Developer and Enterprise. See "Resolving Javadoc conflicts" for more information.

Content pane

The content pane in the source view and content pane tabs provide new context menu options to add and edit new code elements (including Javadoc), to navigate between bookmarks, breakpoints, and the project pane, and to create and view customized tabs more easily.

In the source view, the content pane's context menu command, New, provides numerous submenus to help you quickly create a new inner class, base class, field, constructor, method, Javadoc, and code template. You also have more options to choose from to help your coding efficiency with the Edit Fields/Properties, Edit Javadoc, Add Bookmark, Toggle Breakpoint, and Editor Preferences context menu commands.

The Content pane tabs now display an icon to identify a file as read-only. You can set the width of the Content and Message pane tabs in the Preferences dialog box (Tools|Preferences|Browser) for easier file name viewing. You can also quickly navigate from the open content pane file to the file location in the project pane by right-clicking a content pane tab and choosing Select In Project Pane.

Message pane

There are many ways to manipulate or change the message pane view or to copy text from the message pane. From the View main menu, you can choose to remove all displayed message tabs or select a particular message tab to display. From the message pane context menu, when you right-click in the text message area, you can choose to clear, copy, or wrap the message. From the message pane tabs context menu, you can remove tab(s), clear messages, hide the message view, or copy the message content.

If you have added Javadoc @todos to your Javadoc comments, the message pane displays the Javadoc @todo list. You can choose Search|View Todos or right-click in the project pane and choose View Todos to open the @todo list in the message pane view. For more information about viewing @todos in the message pane, see "Using Javadoc @todo tags in the editor".

Dialog box navigation trees

Complex dialog boxes, which formerly had a number of tabbed pages, now have a navigation tree in the left panel of the dialog box. The nodes of the navigation tree correspond to the tab names of the pages used in the old dialog boxes. Choose a node in the left panel to view its contents in the right panel. (The contents of these nodes are still referred to as pages.) Where there's an expansion widget, click the expansion widget (or use the right arrow key) to display subsidiary pages of the selected node.

Tool preferences

JBuilder now provides an easier way to change your preference settings with a single, complete dialog box. Two dialog boxes, IDE Options and Editor Options have been combined into one dialog box, Preferences, accessed from the Tools menu (Tools|Preferences). Navigate through the tree on the left side of the dialog box to view all of the available preference settings.

JBuilder supplies a new option for customizing the appearance of JBuilder's IDE. You now have the ability to change the default font used in the IDE by accessing the Look and Feel page (Tools|Preferences|Browser|Look and Feel. Simply click the Use different font check box, click the arrow to the right of the Name field to view the font list, and choose a new font. For more information about setting preferences for JBuilder, see "Customizing JBuilder's IDE" and "Customizing the editor".

Code productivity

JBuilder increased code productivity with new additions to many coding features, from JBuilder's debugger and refactoring tools, to wizards, code shortcut tools, searching tools, tagging tools, and much more.


The debugger now provides a new view, the Custom view. The Custom view allows you to create a custom viewer for an object. This view is also available from Run|Custom Views before the debugging session begins. For more information, see "Using a custom viewer on an object." (This is a feature of JBuilder Developer and Enterprise.)

Toolbars have been added to the Custom View (Run|Custom View), Breakpoints (Run|Breakpoints) and Classes With Tracing Disabled (Run|Classes With Tracing Disabled) dialog boxes. Toolbar buttons allow you to quickly manipulate the contents of the dialog box.

The shortcut key for the Breakpoint Properties dialog box has been changed. It is Ctrl+right-click with the mouse in the editor gutter. This new key combination replaces the Ctrl+left-click key combination.

The Debug page of the New/Edit Runtime Configuration dialog box has been divided into two pages. One contains standard debugging options; the other contains remote debugging options. (Remote debugging is a feature of JBuilder Developer and Enterprise.)

After you adjust the number of array items displayed in debugger views, you can use context menu commands to manipulate the display of the array. You can right-click the ellipsis button next to the Previous Range or Next Range icons in the array display and use Previous Range or Next Range command to view previous or next elements in the array. The number of elements displayed will be the same as the number of elements currently displayed.

There is now a shortcut key, F6, for the Evaluate/Modify dialog box.


A Refactor menu has been added to the main JBuilder menu. This menu displays all possible refactorings; only the ones that apply to the current selection will be available, however. The editor context menu now includes a Refactoring submenu. This menu only displays refactorings that apply to the current selection.

New refactoring features for JBuilder X include:

New Refactorings

Refactoring Description For more information
Find Overridden Method Finds the method overridden by the selected method. Building Applications with JBuilder: "Find Overridden Method" in "Refactoring code."
Find Local References Identifies references of a method, field, or class that are local to the active file. Building Applications with JBuilder: "Find Local References" in "Refactoring code."
Extract Method Turns a selected code fragment into a method. Building Applications with JBuilder: "Extracting a method" in "Refactoring code."
Introduce Field Replaces the result of a complex expression, or part of the expression, with a field name. Building Applications with JBuilder: "Introducing a field" in "Refactoring code."
Pull Up Method Moves the selected method into a superclass of its current class. Building Applications with JBuilder: "Pulling up a method" in "Refactoring code."
Push Down Method Moves the selected method into one or more subclasses of the current class. Building Applications with JBuilder: "Pushing down a method" in "Refactoring code."
Pull Up Field Moves the selected field into a superclass of its current class. Building Applications with JBuilder: "Pulling up a field" in "Refactoring code."
Push Down Field Moves the selected field into one or more subclasses of the current class. Building Applications with JBuilder: "Pushing down a field" in "Refactoring code."
Extract Interface Extracts the selected subset of a class into a new interface. Building Applications with JBuilder: "Extracting an interface" in "Refactoring code."
Introduce Superclass Creates a superclass. Building Applications with JBuilder: "Introducing a superclass" in "Refactoring code."

Local labels

The Manage Local Labels dialog box (Project|Manage Local Labels) lets you use local labels to manage your project's source files. Creating a local label applies the label to files in the source directories, and files underneath Web Module nodes for the active project. Clicking Revert in the Manage Local Labels dialog box rolls back any changes you have made to your project's source files to the state they were in when the selected local label was created. Local labels can be removed at any time without affecting the content of your project's source files.

You can use local labels to mark notable versions of your project, such as a stable version, or a version preceding significant changes. The ability to roll back changes lets you safely test different modifications.


JBuilder provides quick access to the wizards in the object gallery. With the wizards, you can easily create many varied elements for your projects. Click the down arrow on the New button of the main toolbar to access the wizards drop-down menu. Be careful where you click. If you click on the New button, the Object Gallery dialog box opens. Another way to open the Object Gallery dialog box is to click the New button's arrow, and then choose New.

JBuilder provides a new Import Source wizard and has increased the functionality of the Implement Interface, Project, Override Method, and Archive Builder wizards. You can access the Import Source Wizard from the object gallery. Use the Import Source Wizard to copy files to import into the project source directory. The wizard copies each file to a subdirectory matching its package assignment.

The Implement Interface Wizard (Wizards|Implement Interface), now supports inner classes and presents an updated look. The Project Wizard includes an option to choose a template to use as your project template. The Project Wizard preserves the inherited custom Javadoc tags from the project templates.

The improved Override Method Wizard (Wizards|Override Methods), overrides a method in a superclass. This wizard creates the framework for the override and inserts the method signature framework at the end of the .java source for the class. Another enhanced wizard, the Archive Builder wizard, now provides a runnable JAR file for an application. Create an application JAR file with the wizard and make and run the JAR file from the project pane with a simple context menu command. See "Creating a runnable JAR file with the Archive Builder wizard" in "Automating code development" for more information.


JBuilder presents a new coding tool to help you identify the scope of your Java class members. ScopeInsight displays the current code scope and context of the class member by identifying the associated class, method, or expression in the source code. For more information, see "ScopeInsight" in "Automating Code Development".

Code folding and method navigation

Code folding compresses and expands Java code blocks making it much easier to navigate through large source files. The code folding tool provides method, class, and import statement code folding. The editor provides another useful navigation tool that allows quick method navigation. The up and down arrows located in the left lower gutter of the editor permit you to move quickly to each method in the source code.


JBuilder improved navigation to Java code errors in your source code in the editor. When there are no errors visible in the current editor view, but errors are present in your code, press Alt+Enter (to invoke ErrorInsight), and the focus in the editor moves to the next error in your code.


You can use the Javadoc dialog box to insert the Javadoc comment and required tags in your code. Using this dialog box automatically generates the correct tags in the correct order and reduces the possibility of Javadoc conflicts. To add comments and tags with the dialog box, right-click a code signature in the editor and choose New|Javadoc from the editor context menu. This displays the New Javadoc dialog box where you add and edit Javadoc comments. Click the Add button on this dialog box to display the Add Javadoc Tag dialog box, where you add and edit tags. You also use this dialog box to create and edit descriptive text as attributes (XDoclet and EJBGen styles) or just as text strings. For more information, see "Using the Javadoc dialog box to generate and edit comments and tags" in "Creating Javadoc from source files" in Building Applications with JBuilder.

JBuilder improved Javadoc functionality with easy ways to resolve Javadoc conflicts and view Javadoc @todos. Javadoc conflicts now display in a Javadoc Conflicts folder in the structure pane. Clicking on the individual Javadoc conflict in the structure pane highlights the Javadoc item in the editor. For more information on fixing Javadoc conflicts, see "Resolving Javadoc conflicts". (This is a feature of JBuilder Developer and Enterprise.)

Javadoc @todos help you to keep track of unfinished source code elements. Some of JBuilder's wizards generate @todo tags to remind you to add code to the stub code that the wizard generates. To view, find, and filter your Javadoc @todos in the message pane, choose Search|View Todos or right-click in the project pane and choose View Todos. For more information, see "Viewing @todo tags" in Building Applications with JBuilder.

See also

  • "Viewing Javadoc @todo tags"

Import source code

Select files individually or by directory to copy to the project source directory according to package by choosing Wizards|Import Source or by accessing the Object Gallery (File|New|General|Import Source). Resource file types in a directory or in the resource file parent directory with at least one Java file will be assumed to be in the same package as that Java file.

Find definitions

JBuilder has improved the ability to find definitions for methods. When you press Ctrl and left-click on an overriding method, the editor invokes the Find Super Definition action. When you press Ctrl and left-click on all other methods, the editor invokes the Find Definition action.

Reopen files

The menu choice, File|Reopen, displays a list of opened files for the current project. Now you can choose File|Reopen|Select File to choose from a larger pool of files to reopen. The Select File dialog box provides a sorted list for the file name entered.

Keymap reference

JBuilder has made it simple to create a keymap reference for individual keymap editors with the new Make Reference Copy action. From the Keymapping page of the Preferences dialog box (Tools|Preferences|Keymapping) you can choose from a list of keymap editors: CUA, Emacs, Brief, Visual Studio, Macintosh, and Macintosh CodeWarrior. Once you have selected an editor, click the Make Keymap Reference Copy button to create and save your keymap reference file.

Runnable JAR

The Archive Builder wizard creates JAR files for numerous file types, including a runnable JAR file for an application. To run an application with one click from the project pane, use the Archive Builder wizard to create a runnable JAR file. See "Creating a runnable JAR file with the Archive Builder wizard" in "Automating code development" for more information.

Build system


Ant has been updated to version 1.5.4.

TagInsight, which can be used for automatic tag completion, is now supported in Ant build files. For information on how to invoke and customize TagInsight, see "TagInsight."

Setting build preferences

There are new build options you can set for the JBuilder IDE to make building your projects easier. These options are located on the Build page of the Preferences dialog box (Tools|Preferences|Browser|Build).

The build options include:

  • Build In Background: starts the build process in the background.
  • Activate Build Tab: makes the Build tab the active tab when multiple message pane tabs are displayed. For example, if other tabs are open, such as the Search tab, the active tab would be the Build tab. If this option is off, the previously active message tab would remain the active tab.
  • Close Tab After Successful Build: the Build tab in the message pane closes automatically if the build is successful.

If the Build In Background option is checked, the build occurs in the background, allowing you to continue working. You can stop the build at any time with the Stop button on the message pane toolbar.

If the Build In Background option is unchecked, the Build Progress dialog box displays and blocks all activity during the remainder of the build process. However, there is a Background button available on this dialog box, so you can send the build to the background and continue working in JBuilder.

Package filtering

The Ignore Package Filtering When Rebuilding command on the project pane context menu and the Project menu has been removed. If you want to rebuild without filters, you can add the Rebuild Project Without Filters target to the Project menu. This new target allows you to turn off filters when building without removing the filters. This can be useful if you've changed something in a filtered package and you want to rebuild it, but you don't want to remove the filters and add them again.

To rebuild a project without filters, add the Rebuild Project Without Filters target to the Project menu as follows:

  1. Choose Project|Project Properties|Build|Menu Items.
  2. Click the Add button.
  3. Choose the Rebuild Project Without Filters target to add it to the Project menu.
  4. Click OK twice to close the dialog boxes.
  5. Choose Project|Rebuild Project Without Filters to rebuild the project without package filtering.

Web services

The web services features have been rearchitected and the Import and Export wizards have been replaced by the Web Services Designer.

Basic steps for creating web services

The basic steps for exporting and importing web services are:

  1. Create a project (File|New Project) or open an existing project.
  2. Open the Web Services Designer (File|New|Web Services|Web Services Designer). First, the Web Services Configuration wizard opens, so you can choose a toolkit and create a web services web module. After you've completed this wizard, the Web Services Designer displays in the JBuilder content pane.
  3. Create a service in the Web Services Designer. Depending on the toolkit selected, export a JavaBean, EJB, or MDB, or import a WSDL from URL or UDDI. Click the various fields in a service component in the Designer and set the desired options.
  4. Build the project to generate the appropriate classes according to the options you've selected.
  5. Run the Web Services Server runtime configuration to deploy the web service to the web services server.
  6. Use the Flow Designer to modify the web service flow.

Web Services Configuration wizard

This wizard now uses the new Web Module wizard to create a web services web module. You can create a server module, a client module, or both. The client module only supports importing a WSDL from URL or UDDI.

Web Services Designer

Asynchronous services (MDB) are a feature of the WebLogic toolkit and WebLogic Server 8.1

The Web Services Designer provides a design surface for importing and exporting web services. Using the Web Services Designer, you can visually create and implement web services.

The Web Services Designer provides the following features for quickly exporting and importing web services.

  • Create Java-based web services
  • Create EJB-based web services with stateless session beans
  • Create asynchronous (MDB) web services
  • Import web services from a WSDL URL or a UDDI registry
  • On demand or automatic EJB scan and export of stateless session beans and message-driven beans
  • On demand or automatic validation of existing services and dependent components
  • Refresh generated sources on build to enable dynamic sync up of exported services
  • Refresh WSDL from source
  • Validate services
  • Module settings for automatic functionality, such as refreshing source, scanning of stateless session beans and message-driven beans, refreshing WSDLs, and other features

Scanning EJBs

The easiest way to export EJBs as web services is to use the EJB scanning feature in the Web Services Designer. There are two ways to scan for EJBs:

  • Use the Scan For Services button on the Designer toolbar.
  • Set the Scan And Export options in the Module Settings dialog box, available on the toolbar.

For the EJB scanning feature to be available in the Web Services Designer, your project must meet these requirements:

  1. The project must have an application server specified on the Servers page of Project Properties (Project|Project Properties|Server).
  2. The project must have a web module and an EJB module. The EJB module must contain stateless session bean or queue-based message-driven beans. Message-driven services are supported by the WebLogic toolkit and WebLogic Server 8.1.
  3. If the project contains an application module (EAR), as well as a web module and EJB module, the application module must be linked to the EJB modules in the Properties dialog box. Right-click the application module in the project pane, choose Properties|Application|EJB, and check the EJB modules to include in the EAR. You can also choose the EJB modules on Step 3 of the Application Module wizard when creating the EAR.

Using the Axis Flow Designer

This is a feature of the Axis toolkit

The Axis Flow Designer provides a visual design surface to easily construct message flows, handlers, and configure typemapping, and so on. These flows can be individual service flows or global flows for all of the services in the project. Using the Axis Flow Designer, you can quickly view, add, edit, and delete handlers, chains, flows, and typemapping information.

The Axis Flow Designer consists of individual flow designers for various components, such as chain, service, request flow, and so on. Where appropriate, they support drag and drop to allow reuse of globally defined components in child components. For example, a global handler can be referred to inside of a service by a simple drag and drop. Apart from composing the service flow, the Flow Designer also allows you to configure each of the service elements. You can use the inspectors by clicking a component on the design surface in the Flow Designer or use the form-based interface by choosing the General tab.

To open the Axis Flow Designer, click the Axis Flow tab in the Web Services Designer in a project configured for web services using the Axis toolkit. The structure pane to the lower left of the Designer displays the hierarchical structure of the flow and can be used to navigate to, as well as add and delete web services components. Once you add components, such as chains and handlers, you can drag and drop them into the Axis Flow Designer.

Using the WebLogic Flow Designer

This is a feature of the WebLogic toolkit

The WebLogic Flow Designer visually represents the message flow of the web service and provides an easy-to-use interface for viewing and editing the web-services.xml deployment file. For example, you can add handler, reliability, and security chains.

To open the WebLogic Flow Designer, click the WebLogic Flow tab in an open Web Services Designer. The project must be configured for web services with the WebLogic toolkit. Click a handler in the WebLogic Flow Designer, such as HandlerChain, Security, and Reliability, to display its inspector. Then enter values in the inspector.

Editor enhancements

JBuilder enhanced the editor's functionality with many new features: TagInsight, a new tagging tool, an expanded context menu, new syntax highlighting, improved editor navigation, bookmarking, code template, and searching capabilities.

Context menu

The editor contains new context submenu commands for Java files accessed from the New command (right-click in the editor and choose New). You can also access the same New submenu commands from the structure pane. You have the capability to quickly create an inner class, base class, field, constructor, method, and Javadoc for your source file.

The editor also provides context menu options to edit Javadoc, to edit fields and properties, and to add helpful Bookmarks. With the Edit Javadoc and Javadoc commands, you can use descriptive text to edit or create attributes.


TagInsight is a new feature for working in JSP, XML, and HTML files. TagInsight provides tag completion popup windows for HTML, XML, and JSP files. The automatic popup window displays a list of tag options for that particular file type. TagInsight includes focused tag tools, such as EntityInsight, AttributeInsight, ElementInsight, and ValueInsight, that display tags associated with individual tag components.

TagInsight requires specific components to work properly for XML documents. See "XML TagInsight" in "Automating code development" for information on requirements for using TagInsight for XML documents.

You can customize TagInsight colors and enable or disable TagInsight automatic popup windows. See "Customizing TagInsight" in "Automating code development" for more information.

See also

  • "TagInsight" in "Automating code development" in Introducing JBuilder

Code templates

JBuilder expanded code template functionality. You can create new code templates directly from the source code in the editor, import or export code templates as XML files to add to your list of JBuilder code templates, and associate code templates with additional file types. For more information about code templates, see "Code templates" in "Automating code development".


JBuilder now supports persistent, project-wide bookmarks. You can add a bookmark from the Search menu (Search|Add Bookmark) or from the editor's context menu (right-click in the editor and choose Add Bookmark). Edit or remove your bookmarks from the Bookmarks dialog box (Search|Bookmarks).

You can easily navigate to your bookmarks from the Search menu (Search|Bookmarks) or by using shortcuts. Set the shortcut keybindings for bookmark navigation in the Add Bookmark dialog box (Search|Add Bookmark), Edit Bookmark dialog box(Search|Bookmarks|Edit), or with the Keymap editor (Tools|Preferences|Keymapping|Edit button).

The default keyboard shortcuts (CUA keymappings) for bookmark navigation provide the following navigation methods: to move to the previous bookmark, press Ctrl+Shift+. (period), and to move to the next bookmark, press Ctrl+Shift+, (comma). It is easier to remember the shortcut if you associate the period with the left-angle bracket (<) and with the word, backwards, and the comma with the right-angle bracket (>) and with the word, forward.


Navigating in the source code is easier with new navigation tools. The up and down arrows located in the left lower gutter of the editor allow you to move up or down methods in the source code. Click the up arrow to move to the previous method, or the down arrow to move to the next method in the source code.

Find code elements

JBuilder added more syntax highlighting capabilities to help you quickly locate and identify unused code elements. Unused variable, method, and import statement text display in light gray. Once the unused variable, method, or import is used, it reverts to normal syntax settings. Overriding methods display with default italic font. You can easily customize these settings by visiting the Color page of the Preferences dialog box (Tools|Preferences|Editor|Color).

Read-only files

Read-only file identification is easy when you view the file in the source view of the content pane (the editor). If the file is a read-only file, the content pane file tab displays an icon indicating read-only status. The file tab displays the file name. JBuilder's title bar displays the full file path, name, and extension. Hold the cursor over the file tab and the file name and full file path displays.

Find Local References

The Find Local references command, available from the editor's context menu, displays only the local source files that use a given symbol (instances of a variable, method, class, or interface). The command displays the reference information (the complete path, file name, and symbol reference), in the message pane located at the bottom of JBuilder's IDE.

Command-line macros

Command-line macros can be used in the runtime configurations VM Parameters, JBuilder Parameters, and Application Parameters fields. In the command-line macros dialog box (available from Tools|Configure Tools, Add or Edit button, Insert Macro button), three new command-line macros are available:

  • $Env: - OS environment variable
  • $Property: - System property
  • $SmartAgentPort - VisiBroker Smart Agent port

Keep in mind that command-line macros ending in colons require you to pass in a value after the colon.

Team development

Several changes have been made to the StarTeam integration to improve usability:

  • Streamlined user interface: the dialog boxes for adding, checking in, and checking out files have been streamlined by moving advanced options to supplementary dialog boxes. Click the Advanced button in the Add Files, Check In, and Check Out dialog boxes to open an Advanced Options dialog box.

  • Improved merge conflict handling: the StarTeam integration now supports files containing merge conflict markers. When StarTeam encounters a merge conflict, the conflict is listed in the message pane. Double-clicking the conflict in the message pane opens the Merge Conflicts page of the history view. The Merge Conflicts page displays the workspace source side-by-side with the repository source, with the conflicting blocks of code or text highlighted. Radio buttons next to the highlighted blocks of conflicting code allow you to easily select which block of code you want to keep. The preview pane at the bottom of the Merge Conflicts page shows what your workspace file will look like when you apply the changes.

  • Improved support for using embedded property editors: When you use embedded (modeless) property editors, you are no longer prompted to save a modified document when changing focus to another editor. This lets you switch between editors without interruption. Embedded property editors are opened from the context menu for process item shortcuts.

  • Support for StarTeamMPX Server: the StarTeamMPX Server page of the StarTeam Personal Options dialog box (Team|Personal Options) lets you enable or disable support for StarTeamMPX Server, a framework for messaging, for the active project and subsequently opened projects. When StarTeamMPX Server is enabled, information about changed objects in a StarTeam server configuration is broadcast in encrypted format through a publish/subscribe channel to the StarTeam client.

  • Revert command (Team|Revert): discards any changes in the edit buffer for the active file, and reverts it back to the most recent checked out version. This new command complements the My Diff command (Team|My Diff), which shows the differences (if any) between the working file and the version that was checked out to the workspace.

  • Tighter integration with JBuilder: similar to the way in which files are opened in the project pane, double-clicking items in the project view window upper pane opens the item in JBuilder's content pane. The upper pane of the project view window appears in the StarTeam Repository page when you open the StarTeam Repository node.

Web development

This is a feature of JBuilder Developer and Enterprise

JBuilder X introduces the concept of a web module. A web module describes the structure for all or part of a web application or the web portion of a larger J2EE application. The web module node in the project pane now displays a Deployment Descriptors and Module Directory node. Extensive properties can be set on the web module. For more information, see "Working with web modules and WAR files" in the Web Application Developer's Guide.

All wizards on the Web node of the object gallery have been updated to use a web module. The Web Module wizard now allows you to create an empty web module or a web module from an existing directory or WAR file. You can create a Tiles and/or Validation file when you choose Struts 1.1 as the framework on the last step of the wizard.

Struts 1.1 is now the default version of Struts supported by JBuilder. The project pane web module Deployment Descriptors node displays a Struts folder that indicates the version of Struts being used in your project. Struts items, such as Actions and Descriptions, are gathered in the Module Directory of the web module. The Properties for Struts dialog box, available by right-clicking the Struts folder, now allows you to register struts-config.xml files in the web.xml file and tiles.xml files in a struts-config.xml file. For more information, see "Using the Struts framework in JBuilder" in the Web Application Developer's Guide.

The Struts Config Editor now includes three visual designers - an Action Designer, a Form Bean Designer, and a Tiles Designer. These designers, full featured designers with drag and drop capabilities, are the default view for the selected element. Inspectors and context menus are available with mouse right-clicks. Lines and diagrams show application flow. The Action and Form Bean Designers can be invoked directly from the Action and ActionForm wizards. For more information on the visual designers, see "Using the Struts Designers" in the Web Application Developer's Guide.

JSP TagInsight is now available. JSP TagInsight provides lists of available tag library tags, elements, attributes, and entities for use when editing your JSP. For more information, see "TagInsight."

The Tab key now operates as a Tab action in JSP files.

Mobile development

This is a feature of JBuilder Developer, Enterprise, and Mobile Edition

JBuilder Mobile Development now supports MIDP 2.0, and NTT DoCoMo i-modeTM development using the DoJa SDK. The details of these new features are described below.

MIDP 2.0

  • New MIDP JDK
    • Fully supports J2ME Wireless Toolkit 2.0_01, and installs and configures it when it is selected as a Mobile Development install option. (J2ME Wireless Toolkit 1.0.4 is no longer delivered with JBuilder, but is still supported.)

      Note: Palm development is not supported in J2MEWTK 2.0. To do Palm development, you will need to use JDK 1.0.4.

  • Designer
    • Adds component palette tabs for MIDP 2.0 design.
    • Creates a Layout directive property editor and implemented Form layout.
    • Implements Preferred size and MaxSize properties (Only for .non-negative value, i.e., locking preferred size).
    • creates TextField Constraints and InitialInputMode property editors.
  • Runner:
    • Implements runner stack trace scanner to interpret CLDC stack trace (with PC instead of file name.)
    • Includes prompt for method selection on overloaded method.
  • Archive Builder:
    • Includes the MIDP 2.0 optional attribute Delete Notify.
    • Adds a step for specifying Push Registry entries.
    • Adds a step for specifying the required or optional permissions for protected APIs.
  • Obfuscator:
    • Adds support for the ProGuard obfuscator.


  • Provides full support for DoJaTM 1.5, and limited support for DoJaTM 3.0 (See below.)
  • Runs in the US or Japanese locales.
  • Provides full support for editing, compiling, debugging, running, archiving, obfuscating, and deploying i-mode DoJa applications.
  • Includes wizards for creating an i-mode Application, Panel, and Canvas.
  • Supports visual design for DoJa 1.5 applications. Includes a new i-mode tab on the component palette in the UI designer for the DoJa 1.5 graphical UI components created specifically for use in applications for mobile Java-enabled i-mode phones.

    Note: Visual UI design is not supported for DoJa 3.0 at this time.

  • Includes an i-mode Application archive type in the Archive Builder, and tailors the optional key choices to the version of the DoJa JDK being used by the application archived application.
  • Includes a new dialog for uploading applications to a server.
  • Adds support for the ProGuard obfuscator.


XML changes include the addition of XML catalogs for mapping of DTDs and schemas to local files and XML TagInsight.

The Ignore DTD option on the XML page of the Preferences dialog box (Tools|Preferences|XML) is now disabled by default for proper validation against a DTD. If the DTD referenced in the DOCTYPE declaration of the XML document is an online file on a network or the Internet, you can now map the ID to the locally saved file. See "XML Catalogs."

You can set XML preferences globally for the JBuilder IDE in the Preferences dialog box (Tools|Preferences|XML). These preferences include general options, transform trace options, and catalog settings.

XML Catalogs

The XML page of the Preferences dialog box (Tools|Preferences|XML) has several catalog subpages for remapping the location of online DTDs and schemas to downloaded local files. JBuilder uses these mappings to locate the DTD or schemas, which are then used to process XML validation and to create the TagInsight list for automatic tag completion. These mappings allow you to do your XML editing and validation offline, thus increasing the speed of the editor.

The subpages of the XML page include these XML catalog pages:

  • Public ID Catalog
  • System ID Catalog
  • Schema Catalog
  • OASIS Catalog Files

For more information on XML catalogs, see "Setting XML Preferences" in the online XML Developer's Guide.


Overriding methods are now displayed in color in the UML class diagram. You can customize the color on the UML page of the Preferences dialog box (Tools|Preferences|UML).

Tagged values are now displayed in UML class diagrams. A tagged value is an extension of the properties of a UML element. A tagged value consists of a tag, which is the name of a property, and a value. Tagged values display below the name of a superclass and each subclass of the diagrammed class. They are represented in the UML diagram by a string enclosed by brackets and displayed below the name of a superclass and each subclass of the diagrammed class. For example, {subclasses = 2}.

Help Viewer

JBuilder expanded the Help Viewer's printing and navigating functionality. Preview and customize the layout when you print out documentation. You can also navigate more easily by adding tabbed pages to the content pane or by toggling between the content pane and contents page of the Help Viewer. JBuilder added functionality to the Help Viewer in the following areas:

Printing in the Help Viewer

The Help Viewer provides two new menu items to assist with printing. Access the Print Preview and Page Layout menu commands from the File menu. Print preview opens the selected document in a separate viewing window, displaying the printed version. Page Layout opens a Page Layout dialog box where you can set the margins, scale, headers, footers, and portrait or landscape appearance of the printed document.

Adding tabs to the Help Viewer content pane

You can now view multiple help topics easily in the Help Viewer content pane. You can add tabs for each new help topic from the File menu. Choose File|New tab, then click the document title in the Contents page. The new tab displays the document title.

Toggling panes with the Help Viewer context menu

The Help Viewer context menu allows you to hide the Contents page, also known as the navigation pane, to display only the Help Viewer content pane. Right-click in the Help Viewer's content pane, and choose Hide Navigation Pane or Show Navigation Pane.

J2EE/EJB development

JBuilder and server integration

JBuilder now supports the JBoss Server 3.x+.

Module conversion

JBuilder will automatically convert your existing EJB modules, web modules, and EAR groups to a new format. You won't receive a visual cue that it is doing so. EAR groups are now known as application modules. You will not be able to use these newly converted modules with older versions of JBuilder.

EJB Designer

You can now use the EJB Designer to create EJB 1.1 components. For more information, see "Creating session and message-driven beans with the EJB Designer" and "Creating entity beans with the EJB Designer" in Developing Applications with Enterprise JavaBeans.

Editing J2EE deployment descriptors

JBuilder X has a new editor called the DD Editor for editing J2EE deployment descriptors. It can edit the deployment descriptors of these types of modules:

  • EJB
  • Web
  • Application
  • Connector
  • Application Client

To view online help for a page in the DD Editor, click the page and press F1.

To get started using the DD Editor, see "Editing J2EE deployment descriptors" in Developing Applications for J2EE Servers.

Enterprise and EJB wizards

The Enterprise page of the object gallery contains the JMS wizard, the Application Module wizard, which creates EARs, the Connector Module wizard, which creates a module that contains a resource adapter, and the Application Client Module wizard. It also includes the JBoss Service Module wizard, which creates modules for working with JBoss.

The Enterprise|EJB page has the EJB wizards. There is only one EJB Module wizard for both 1.1 and 2.0 EJB modules. This wizard can create a new empty module or you can use it to copy descriptors from another location to create a new module. The EJB Designer wizard is renamed because the EJB Designer can now create 1.1 and 2.0 enterprise beans.

Running CORBA applications

With JBulder X, you can use a JBuilder macro in the VM Parameters field on the Edit Runtime Configuration dialog box when running a CORBA application. This macro allows the project to be used on another machine where the Smart Agent is configured for a different port. The syntax is:


Optimizeit integration

This is a feature of JBuilder Enterprise. The Optimizeit Suite Trial is included with JBuilder Developer.

JBuilder provides an integrated installation for Borland Optimizeit Suite 6.0. Using Optimizeit Suite within JBuilder can help you identify and resolve Java code-level performance issues throughout development, to ensure that your code is fast, scalable, and reliable. The integration includes the following Optimizeit tools:

  • Profiler, which tracks memory and CPU usage issues
  • Code Coverage, which tracks precisely what code is executed
  • Thread Debugger, which traces complex thread issues in code
  • Progress Tracker, which compares and graphs test data generated by Profiler and Code Coverage

For more information, refer to the Optimizeit Suite documentation, which is incorporated into the JBuilder online documentation.

Premium Tools

This is a feature of JBuilder Enterprise

Crystal Reports® for Borland JBuilder

A tightly integrated component in JBuilder 10, Crystal Reports for JBuilder can simplify and accelerate the process of embedding Crystal Reports as part of your Java Server Page (JSP) application. It helps developers access, format and integrate data within a JSP page. It includes intuitive, visual design-time tools that facilitate data source browsing, linking and formatting, and a runtime viewer to generate content for web interfaces.

Crystal Reports for Borland JBuilder has been designed to address the separation of web designer and application developer workflow. This means that web designers can focus on usability, creating highly formatted content using Crystal Decision's intuitive design environment, while application developers can focus on encapsulating business logic. The separation of data presentation from business logic minimizes the resources required to maintain and modify the presentation-layer, and makes the application more resilient to ever-changing user requirements.

Altova XML Spy JBuilder Edition

This is available for Windows only

XMLSPY 2004 is the industry-standard XML Development Environment for designing, editing, and debugging software applications involving XML, XML Schema, XSL/XSLT, SOAP, WSDL and Web Service technologies.

Salesforce.com sforce toolkit for JBuilder X

The sforce toolkit for JBuilder X provides plug-ins, sample code and documentation that allow developers to easily integrate and extend salesforce.com-based CRM solutions.

Sun Java System Application Server 7 Plugin for JBuilder X

The Sun Java System Application Server 7, Plugin for JBuilder X integrates JBuilder X with the Sun Java System Application Server 7 runtime environment to provide a fully-automated development experience. The Plugin enables J2EE developers to take full advantage of productivity enhancements provided by JBuilder.

Borland Enterprise Server AppServer Edition

Borland Enterprise Server is the most comprehensive J2EE and CORBA application server on the market today. It fully supports the latest industry standards such as J2EE 1.3, EJB 2.0, Servlet 2.3, JSP 1.2, and provides Borland's unique Application Server Partitioning.

Borland StarTeam Server 5.2 Personal Edition

Borland StarTeam Server provides a centralized repository for managing and storing sofware assets such as source code, requirements, topics, tasks and change requests. It facilitates both local and remote team collaboration through the use of tightly integrated components.

When accessed by the JBuilder embedded StarTeam client, StarTeam Server enables users to harness the power of integrated change and configuration management directly from their development environment.


QualityCentral provides a community process for resolving, clarifying, and tracking quality issues regarding Borland's products and services. Access it quickly from Tools|QualityCentral. Borland Developer Network members can create bug reports and feature requests, view other members' reports, and comment and vote on the reports most important to them. Borland personnel also participate in QualityCentral, providing a permanent link between Borland customers and the teams who produce Borland's products.

Server Response from: ETNASC04