What is a Mode in the Windowing System?

Apache NetBeans Wiki Index

Note: These pages are being reviewed.

"Mode" refers to "docking mode". A Mode is a place in a main window, a place between splitters. Separate "floating" window is also backed by Mode. Mode is usually visually represented by a tabbed container. Programmatically it is represented by the class org.openide.windows.Mode

Think of a Mode as synonymous with a one of the tabbed containers you see in the IDE’s main window. The name "Mode" is historical, and a bit unfortunate. When you hear "Mode," think tabbed container and you’ll be fine.

A Mode is not a GUI component. There is no legitimate programmatic way to fetch the component that represents a Mode on-screen, and the windowing system makes no guarantees about what that component is.

Modes can contain one or more TopComponents. They may be visible or non-visible at any given time.

The DevFaqCustomWindowMode page has a visual representation of the available modes, and api has details about the contents of wstcref and settings files.

Pre-Defined Modes

NetBeans defines six modes in core.ui:

  • topSlidingSide

  • rightSlidingSide

  • leftSlidingSide

  • bottomSlidingSide

  • explorer

  • properties

NetBeans defines additional modes in other places:

  • commonpalette

  • output

  • navigator

  • editor

  • CssPreviewTCWsmode

Docking a TopComponent into a Mode

To dock a TopComponent into the 'editor' mode:

Mode myMode = WindowManager.getDefault().findMode("editor");
TopComponent myTopComponent = WindowManager.getDefault().findTopComponent("MyTopComponent");
myMode.dockInto(myTopComponent);

''The ID string of the TopComponent can usually be found in that TopComponent’s Java file where it gets registered using annotations, or in the layer.xml. ''