Geertjan's Blog

  • May 26, 2010

Getting Started Creating Workflow Editors on the NetBeans Platform

Geertjan Wielenga
Product Manager
Lots of interest in workflow applications atop the NetBeans Platform, I believe, so let's create this today as an example:

How to create the above from scratch:

  1. Create new NetBeans Platform application named "Demo Workflow".

  2. Create a new module within the application above, named "WorkflowUI", with code name base "org.demo.workflow.ui", together with a layer XML file.

  3. Create a new TopComponent via the "Window" wizard, in the "editor" position, with "Workflow" as class name prefix.

  4. Use the layer XML file to delete all the default menu items and toolbar buttons:
    <folder name="Menu">
    <file name="Edit_hidden"/>
    <file name="File_hidden"/>
    <file name="GoTo_hidden"/>
    <file name="Help_hidden"/>
    <file name="Tools_hidden"/>
    <file name="View_hidden"/>
    <file name="Window_hidden"/>
    <folder name="Toolbars">
    <file name="Clipboard_hidden"/>
    <file name="File_hidden"/>
    <file name="Memory_hidden"/>
    <file name="UndoRedo_hidden"/>

  5. Apply these steps to remove the tab in the editor mode.

  6. Add Visual Library API to the application and set it as a dependency in the module.

  7. Copy this class into your module.

  8. Put this in the TopComponent constructor:
    ConnectScene scene = new ConnectScene();
    JScrollPane jScrollPane1 = new JScrollPane();

Run the application and you'll see the application shown at the start of this blog entry. Click in the scene to create new nodes and drag nodes to connect them.

Next steps, multiview editor and serialization (described elsewhere here, but will be added to this specific scenario in the coming days) and you're good to go.

Join the discussion

Comments ( 1 )
  • guest Tuesday, September 20, 2011


    I want to develop an editor, like notepad++. Any idea on how to go about it using netbeans?

Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.