站内搜索: 请输入搜索关键词
当前页面: 在线文档首页 > NetBeans API Javadoc (Current Development Version)

Overview (Window System API) - NetBeans API Javadoc (Current Development Version)

org.openide.windows 6.16

Window System API
Official

Redesign documents.

See:
          Description

Window System API
org.openide.windows Most parts of NetBeans do not manipulate windows directly, but use special top components.

 

Redesign documents.

What is New (see all changes)?

Use Cases

General UsecasesUse cases can be read on the external page. Here is a small howto for simple things that may be found useful:
How to create a '.settings' file for a TopComponent?
Either write it by hand (not that hard if you copy other file and tweak it to match your TC), or start the IDE, instantiate the TC somehow (You have a "Window->Show My TC", right? ), copy the file that gets created in $userdir/config/Windows2Local/Component and cleanup the serialdata section - replace it with proper "<instance class='..." /> tag.
How to make a TopComponentGroup?

Q: I'm trying to make a TopComponentGroup. I've just read http://ui.netbeans.org/docs/ui/ws/ws_spec.html#3.9 I want to make a group that uses the first invocation strategy. That is, I want the group to open/close when I activate a certain subclass of TopComponent. Say, for example, I have a FooTopComponent, and when it's active, I want to open a FooPropertySheetComponent, docked in a mode on the right-hand side. I know I have to:
  1. declare the group in the layer file (Windows2/Groups)
  2. have code for opening the group
  3. have code for closing the group
I think I do #2 in FooTopComponent.componentActivated() and #3 in FooTopComponent.componentDeactivated(). Is that right?

A:Yes it is correct way. You can check simple test module. First you must get TopComponentGroup instance using find method then call TopComponentGroup.open()/close(). Here is the code in your componentDeactivated method:
   protected void componentDeactivated ()
   {
       // close window group containing propsheet, but only if we're
       // selecting a different kind of TC in the same mode
       boolean closeGroup = true;
       Mode curMode = WindowManager.getDefault().findMode(this);
       TopComponent selected = curMode.getSelectedTopComponent();
       if (selected != null && selected instanceof FooTopComponent)
           closeGroup = false;
             if (closeGroup)
       {
           TopComponentGroup group = WindowManager.getDefault().findTopComponentGroup(TC_GROUP);
           if (group != null)
           {
               group.close();
           }
       }
   }     
    

Exported Interfaces

This table lists all of the module exported APIs with defined stability classifications. It is generated based on answers to questions about the architecture of the module. Read them all...
Group of java interfaces
Interface NameIn/OutStabilitySpecified in What Document?
UsecasesExportedUnder Development ...//core.netbeans.org/windowsystem/changes.html

Use cases

WindowSystemAPIExportedOfficial .../org/openide/windows/doc-files/api.html

WindowSystemImplementationAPIExportedFriend
DataFlavorDnDTopComponentExportedPrivate

DataFlavor.javaJVMLocalObjectMimeType + "; class=org.openide.windows.TopComponent"

DataFlavorDnDTopComponent.CloneableExportedPrivate

DataFlavor.javaJVMLocalObjectMimeType + "; class=org.openide.windows.TopComponent$Cloneable"

DataFlavorDnDTopComponentArrayExportedPrivate

DataFlavor.javaJVMLocalObjectMimeType + "; class=org.netbeans.core.windows.dnd.TopComponentDragSupport$TopComponentArray"

Group of layer interfaces
Interface NameIn/OutStabilitySpecified in What Document?
NewConfigurationDataExportedUnder Development ...//core.netbeans.org/windowsystem/changes.html

new configuration data

OldConfigurationDataExportedDeprecated ...//core.netbeans.org/windowsystem/changes.html

old configuration data

ModuleDataStructureExportedPrivate ...//core.netbeans.org/windowsystem/changes.html

Module folder structure under Windows2 directory

LocalDataStructureExportedPrivate ...//core.netbeans.org/windowsystem/changes.html

Local folder structure under Windows2Local directory

Group of property interfaces
Interface NameIn/OutStabilitySpecified in What Document?
PersistenceTypeExportedDeprecated

Valid values are "Never", "OnlyOpened". Default is "" (empty string) and means always persistent. "Never" means that TopComponent is not persistent at all. It lives only during IDE run. "OnlyOpened" means that TopComponent is serialized only when it is opened. If it is closed instance is lost. Default behaviour is that TopComponent is serialized always regardless it is opened or closed. It is client property of TopComponent. Usage example: To disable persistence of TopComponent use putClientProperty("PersistenceType","Never"); in initialization code of TopComponent eg. in constructor. Usage of this client property is deprecated. Use API method TopComponent.getPersistenceType() instead.

SlidingNameExportedPrivate

Valid value is any String value representing displayable title of TopComponent in sliding mode. Title is shown on buttons on sides of main window for TopComponents that are currently hidden in sliding state. This property has no effect on regular display names of TopComponents which are shown in captions of windows/tabs in the window system. It is client property of TopComponent. Usage example: To provide different, preferably shorter and non changing name for sliding title of your TopComponent subclass, use putClientProperty("SlidingName","your sliding title"); in initialization code of TopComponent eg. in constructor. Note that in next releases usage of this client property will be removed and replaced by API, see issue #55955 in Issuezilla on www.netbeans.org.

OpenIDE-Transmodal-ActionExportedFriend

An Action with the property OpenIDE-Transmodal-Action set to Boolean.TRUE should function on all focused components. This includes the Main Window, dialogs, popup menus, etc. Otherwise only the Main Window and TopComponents will receive the keystroke.

netbeans.winsys.imageSourceExportedPrivate

Valid values are path to image in NB like "org/netbeans/core/resources/splash.gir". It puts the specified image into the the emptied documents area. it is experimental now. -J-Dnetbeans.winsys.imageSource=org/netbeans/core/resources/splash.gif

netbeans.winsys.dndfade.onExportedPrivate

Valid values are "true" and "false". Default is "false". If it is "true" it paint faded feedback during DnD of windows. Keep in mind it makes some performance impact on DnD. It is experimental now. -J-Dnetbeans.winsys.fade.on=true

netbeans.winsys.disable_dndExportedPrivate

Valid values are "true" and "false". Default is "false". If it is "true" it disables DnD of windows. -J-Dnetbeans.winsys.disable_dnd=true

netbeans.winsys.allow.dock.anywhereExportedPrivate

Valid values are "true" and "false". Default is "false". It allows user to move (e.g. using DnD) TopComponentS between editor(document) and view which is restricte otherwise. It is experimental now. -J-Dnetbeans.winsys.allow.dock.anywhere=true

netbeans.winsys.hideEmptyDocAreaExportedPrivate

Valid values are "true" and "false". Default is "false". If it is "true" it doesn't show empty documents area. -J-Dnetbeans.winsys.hideEmptyDocArea=true

netbeans.winsys.statusLine.in.menuBarExportedPrivate

Valid values are "true" and "false". Default is "false". If it is "true" it shows status line at the and of menu bar instead of the bottom of documents are (or main window). -J-Dnetbeans.winsys.statusLine.in.menuBar=true

netbeans.winsys.no_toolbarsExportedPrivate

Valid values are "true" and "false". Default is "false". If it is "true" it hides all toolbars. -J-Dnetbeans.winsys.no_toolbars=true

netbeans.winsys.menu_bar.pathExportedPrivate

If this property is set its value must point to a file on the system file system that provides instance of type org.openide.awt.MenuBar. This alternative menu bar will be used instead of the default one. -J-Dnetbeans.winsys.menu_bar.path=foo/bar.instance

netbeans.winsys.status_line.pathExportedPrivate

If this property is set its value must point to a file on the system file system that provides instance of type javax.swing.JComponent. This alternative status line will be used instead of the default one. -J-Dnetbeans.winsys.status_line.path=foo/bar.instance

netbeans.winsys.no_help_in_dialogsExportedPrivate

Valid values are "true" and "false". Default is "false". If set to "true" the modal dialogs will be shown without the help button. -J-Dnetbeans.winsys.no_help_in_dialogs=true

netbeans.windowsExportedPrivate

This property was deleted and has no effect now, as sdi support was dropped and replaced by individual seperate windows. Please don't use, it's useless.

org.openide.windows.DummyWindowManager.VISIBLEExportedPrivate

If set to false, windows opened (e.g. TopComponent.open) using the dummy fallback window manager will not really be set to be visible. Useful for unit tests which must incidentally use the Window System API but for which actual display of windows is undesirable.

Group of javax.swing.UIManager interfaces
Interface NameIn/OutStabilitySpecified in What Document?
tab_focus_fill_darkExportedPrivate

One of colors used in own tabs UI implementation. Usage example: To get color, call javax.swing.UIManager.get("tab_focus_fill_dark")

tab_focus_fill_brightExportedPrivate

One of colors used in own tabs UI implementation. Usage example: To get color, call javax.swing.UIManager.get("tab_focus_fill_bright")

tab_unsel_fill_darkExportedPrivate

One of colors used in own tabs UI implementation. Usage example: To get color, call javax.swing.UIManager.get("tab_unsel_fill_dark")

tab_unsel_fill_brightExportedPrivate

One of colors used in own tabs UI implementation. Usage example: To get color, call javax.swing.UIManager.get("tab_unsel_fill_bright")

tab_sel_fillExportedPrivate

One of colors used in own tabs UI implementation. Usage example: To get color, call javax.swing.UIManager.get("tab_sel_fill")

tab_sel_fill_brightExportedPrivate

One of colors used in own tabs UI implementation. Usage example: To get color, call javax.swing.UIManager.get("tab_sel_fill_bright")

tab_sel_fill_darkExportedPrivate

One of colors used in own tabs UI implementation. Usage example: To get color, call javax.swing.UIManager.get("tab_sel_fill_dark")

tab_borderExportedPrivate

One of colors used in own tabs UI implementation. Usage example: To get color, call javax.swing.UIManager.get("tab_border")

tab_bottom_borderExportedPrivate

One of colors used in own tabs UI implementation. Usage example: To get color, call javax.swing.UIManager.get("tab_bottom_border")

tab_sel_borderExportedPrivate

One of colors used in own tabs UI implementation. Usage example: To get color, call javax.swing.UIManager.get("tab_sel_border")

workplace_fillExportedPrivate

One of colors used in own tabs UI implementation. Usage example: To get color, call javax.swing.UIManager.get("workplace_fill")

tab_highlight_headerExportedPrivate

One of colors used in own tabs UI implementation. Usage example: To get color, call javax.swing.UIManager.get("tab_highlight_header")

tab_highlight_header_fillExportedPrivate

One of colors used in own tabs UI implementation. Usage example: To get color, call javax.swing.UIManager.get("tab_highlight_header_fill")

standard_borderExportedPrivate

One of colors used in own tabs UI implementation. Usage example: To get color, call javax.swing.UIManager.get("standard_border")

org.netbeans.core.windows.view.ui.tabcontrol.BorderProviderExportedPrivate

Custom border management for tabbed containers can be achieved by implementing interface org.netbeans.core.windows.view.ui.tabcontrol.BorderProvider and putting instance into Swing's UIManager table under key with the same name as interface has. Usage example: Provide BorderProviderImpl implementation and put it in table javax.swing.UIManager.put("org.netbeans.core.windows.view.ui.tabcontrol.BorderProvider", borderProviderImpl) during startup, before main window is shown.

Group of logger interfaces
Interface NameIn/OutStabilitySpecified in What Document?
org.netbeans.ui.actions.UI_ACTION_KEY_PRESSExportedFriend

There is a special support for notifying when an action is invoked by the
TopComponent's key event handling code. The support is using Logger.getLogger("org.netbeans.ui.actions") and sents a LogRecord with message UI_ACTION_KEY_PRESS, FINER level and paramerters:
  • {0} instance of the KeyStroke
  • {1} toString of the KeyStroke
  • {2} instance of the action
  • {3} class of the action
  • {4} display name of the action
whenever such action is invoked. This message can then be consumed by enhanced UI logger that track what the user is going.

Group of dtd interfaces
Interface NameIn/OutStabilitySpecified in What Document?
windowmanager-properties2_0.dtdExportedUnder Development .../dtds/windowmanager-properties2_0.dtd

-//NetBeans//DTD Window Manager Properties 2.01//EN

mode-properties2_0.dtdExportedUnder Development .../dtds/mode-properties2_0.dtd

-//NetBeans//DTD Mode Properties 2.0//EN

tc_ref2_0.dtdExportedUnder Development ...//www.netbeans.org/dtds/tc_ref2_0.dtd

-//NetBeans//DTD Top Component in Mode Properties 2.0//EN

group-properties2_0.dtdExportedUnder Development .../dtds/group-properties2_0.dtd

-//NetBeans//DTD Group Properties 2.0//EN

tc_group2_0.dtdExportedUnder Development ...//www.netbeans.org/dtds/tc_group2_0.dtd

-//NetBeans//DTD Top Component in Group Properties 2.0//EN

sessionsettings-1_0.dtdExportedUnder Development .../dtds/sessionsettings-1_0.dtd

-//NetBeans//DTD Session settings 1.0//EN

Implementation Details

What do other modules need to do to declare a dependency on this one, in addition to or instead of a plain module dependency?
You might use OpenIDE-Module-Requires: org.openide.windows.WindowManager but it is not generally done.

Read more about the implementation in the answers to architecture questions.


org.openide.windows 6.16

Built on May 28 2007.  |  Portions Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.