分享

How to Use Visualizers (Minimizers, Maximizers, and Externalizers)

 liuzi02 2010-06-09

如何使用展示台(极小,最大化,和Externalizers)

:: Visualizers :: ::展示台::

A Visualizer shows a Dockable in a special state.一个展台展示了可停靠在一个特殊的状态。 The special state is usually DockableState.MAXIMIZED or DockableState.MINIMIZED .特殊的状态通常DockableState.MAXIMIZEDDockableState.MINIMIZED

We call a visualizer that shows a dockable in the state MAXIMIZED a maximizer. We call a visualizer that shows a dockable in the state MINIMIZED a minimizer.我们呼吁一个可视化,显示了国家停靠在一个最大化的最大化。我们调用一个可视化,显示了国家停靠在最小化的一个极小。

Visualizers have to be registered in the dock model with a key:展示台必须在码头模型注册1项:

		dockModel.addVisualizer("minimizer", minimizePanel, frame); dockModel.addVisualizer(“极小”,minimizePanel,框架);

 

:: Using a simple minimizer, maximizer, and externalizer :: ::使用一个简单的极小,最大化,和externalizer::

A very simple minimizer is LineMinimizer . It shows the minimized dockables in a line at the bottom of a panel.一个非常简单的最小值是LineMinimizer 。它显示了一个小组在一个最小化的dockables在底线。
The maximizer that is usually used is a SingleMaximizer . It shows one maximized dockable in a panel.所使用的最大化,这通常是一个SingleMaximizer 。它显示了一个可停靠在一个小组最大化。
The externalizer that is usually used is a FloatExternalizer .所使用的externalizer,通常是一FloatExternalizer

In this example there is a minimizer around the root dock.在这个例子中有一个根码头周围极小。 Around the minimizer is a maximizer.大约在一个极小的最大化。

		// Create an externalizer. / /创建一个externalizer。
FloatExternalizer externalizer = new FloatExternalizer(frame); FloatExternalizer externalizer =新FloatExternalizer(帧);
dockModel.addVisualizer("externalizer", externalizer, frame); dockModel.addVisualizer(“externalizer”,externalizer,框架);
// Create a minimizer. / /创建一个极小。
LineMinimizer minimizePanel = new LineMinimizer(splitDock); LineMinimizer minimizePanel =新LineMinimizer(splitDock);
dockModel.addVisualizer("minimizer", minimizePanel, frame); dockModel.addVisualizer(“极小”,minimizePanel,框架);
// Create a maximizer. / /创建一个最大化。
SingleMaximizer maximizePanel = new SingleMaximizer(minimizePanel); SingleMaximizer maximizePanel =新SingleMaximizer(minimizePanel);
dockModel.addVisualizer("maximizer", maximizePanel, frame); dockModel.addVisualizer(“最大化”,maximizePanel,框架);
... ...
// Minimize dockables. / /最小化dockables。
minimizer.visualizeDockable(dockable5); minimizer.visualizeDockable(dockable5);
minimizer.visualizeDockable(dockable6); minimizer.visualizeDockable(dockable6);
minimizer.visualizeDockable(dockable7); minimizer.visualizeDockable(dockable7);
minimizer.visualizeDockable(dockable8); minimizer.visualizeDockable(dockable8);
// Externalize dockable. / /外化停靠。
//externalizer.visualizeDockable(dockable9); / / externalizer.visualizeDockable(dockable9);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();尺寸屏幕尺寸= Toolkit.getDefaultToolkit()。getScreenSize();
Point location = new Point((screenSize.width - 200) / 2, (screenSize.height - 200) / 2); =新点的位置点((screenSize.width - 200)/ 2,(screenSize.height - 200)/ 2);
externalizer.externalizeDockable(dockable9, location); externalizer.externalizeDockable(dockable9,位置);

 

:: Using a docking minimizer :: ::使用一个对接极小::

A more complicated minimizer is DockingMinimizer . It shows the minimized dockables in lines at the borders of a border dock. The minimized dockables can move in their lines, be dragged to other lines, or even be made floating.一个更复杂的最小值是DockingMinimizer 。它显示了一个边境边境码头在最小化dockables在线条。最小化dockables可以在其移动路线,被拖动到其他线路,甚至作出浮动。

In this example there is a maximizer around the root dock.在这个例子中有一个约根码头最大化。 Around the maximizer is a docking minimizer. The minimizer uses a border dock in mode MODE_MINIMIZE_BAR.周围的最大化是一个对接极小。使用中的极小模式MODE_MINIMIZE_BAR边境码头。 This dock is a root dock and has to be registered in the dock model as root dock:这是一个根码头停靠码头,并已被注册为根码头模型:

		// Create a maximizer and add it to the dock model. / /创建一个最大化,并将其添加到Dock模式。
SingleMaximizer maximizePanel = new SingleMaximizer(splitDock); SingleMaximizer maximizePanel =新SingleMaximizer(splitDock);
dockModel.addVisualizer("maximizePanel", maximizePanel, frame); dockModel.addVisualizer(“maximizePanel”,maximizePanel,框架);
// Create a docking minimizer. / /创建一个对接极小。
BorderDock borderDock = new BorderDock(new ToolBarDockFactory()); BorderDock borderDock =新BorderDock(新ToolBarDockFactory());
borderDock.setMode(BorderDock.MODE_MINIMIZE_BAR); borderDock.setMode(BorderDock.MODE_MINIMIZE_BAR);
borderDock.setCenterComponent(maximizePanel); borderDock.setCenterComponent(maximizePanel);
BorderDocker borderDocker = new BorderDocker(); BorderDocker borderDocker =新BorderDocker();
borderDocker.setBorderDock(borderDock); borderDocker.setBorderDock(borderDock);
DockingMinimizer minimizer = new DockingMinimizer(borderDocker); DockingMinimizer极小=新DockingMinimizer(borderDocker);
// Add the minimizer to the dock model, add also the border dock used by the minimizer to the dock model. / /添加到Dock模型极小,再加上边境船坞的极小用于码头模型。
dockModel.addVisualizer("minimizePanel", minimizer, frame); dockModel.addVisualizer(“minimizePanel”,极小,框架);
dockModel.addRootDock("minimizerBorderDock", borderDock, frame); dockModel.addRootDock(“minimizerBorderDock”,borderDock,框架);
// Add the border dock of the minimizer to this panel. / /添加的极小边界被告席,这个面板。
this.add(borderDock, BorderLayout.CENTER); this.add(borderDock,BorderLayout.CENTER);
// Minimize dockables 5, 6, 7, and 8. / /最小化dockables 5,6,7和8。
minimizer.visualizeDockable(dockable5); minimizer.visualizeDockable(dockable5);
minimizer.visualizeDockable(dockable6); minimizer.visualizeDockable(dockable6);
minimizer.visualizeDockable(dockable7); minimizer.visualizeDockable(dockable7);
minimizer.visualizeDockable(dockable8); minimizer.visualizeDockable(dockable8);

 

:: Create a custom minimizer :: ::创建一个自定义的极小::

If you want to minimize your dockables in a different way, you have to create your own visualizer implementation. This is shown in WindowMinimizerExample.如果你希望尽量减少您的dockables不同的方式在一,你必须创建自己的可视化工具的实施。这是WindowMinimizerExample显示研究。 The minimizer shows its minimized components in a dialog.极小的一个对话框显示其最小组成部分。

:: Headers used by minimizers and maximizers :: ::标题使用极小和最大化::

When a dockable is maximized, a maximize header is displayed above the dockable. When a dockable is minimized, the dockable is represented by a minimize header. The SwComponentFactory is responsible for creating those headers:当一个可停靠的最大化,最大限度头是一个可停靠上面显示的。当一个可停靠的最小化,可停靠是由一个最小化的标题。该SwComponentFactory是负责创建的标题:

The following example uses a little image of the dockable component, when the dockable is minimized:下面的示例使用一个可停靠的组成部分,是最小化时,可停靠的小图片:
	... ...
// Set our custom component factory that creates headers for minimized dockables with an image. / /设置我们的定制元件厂,创建与图像最小dockables头。
DockingManager.setComponentFactory(new CustomComponentFactory()); DockingManager.setComponentFactory(新CustomComponentFactory());
... ...
/** / **
* The header of a minimized dockable will be an image of the dockable component. *最小的一个可停靠的标题将是一个可停靠组件的形象。
*/ * /
private class CustomComponentFactory extends DefaultSwComponentFactory私有类CustomComponentFactory扩展DefaultSwComponentFactory
{
// Overwritten methods. / /覆盖方法。
public SelectableHeader createMinimizeHeader(Dockable dockable, int position)公共SelectableHeader createMinimizeHeader(可停靠停靠,诠释立场)
{
return new ImageMinimzeHeader(dockable, position);返回新ImageMinimzeHeader(可停靠,位置);
}
}

 




The source code of the samples can be found in:样品的源代码中可以找到:

VisualizersExample VisualizersExample Shows the usage of a minimizer, maximizer, and externalizer.显示了一个极小,最大化使用,externalizer。
DockingMinimizerExample DockingMinimizerExample Shows the usage of a docking minimizer.显示了一个对接极小使用。
ImageDockingMinimizerExample ImageDockingMinimizerExample Shows the usage of a docking minimizer with images.显示了一个极小的图像对接使用。
WindowMinimizerExample WindowMinimizerExample Shows the creation of a new minimizer.显示了一个新的极小创造。
ExternalizerExample ExternalizerExample Shows the usage of an externalizer.显示了一个externalizer使用。

 

How to Use Visualizers (Minimizers, Maximizers, and Externalizers)

:: Visualizers ::

A Visualizer shows a Dockable in a special state. The special state is usually DockableState.MAXIMIZED or DockableState.MINIMIZED.

We call a visualizer that shows a dockable in the state MAXIMIZED a maximizer. We call a visualizer that shows a dockable in the state MINIMIZED a minimizer.

Visualizers have to be registered in the dock model with a key:

		dockModel.addVisualizer("minimizer", minimizePanel, frame);

 

:: Using a simple minimizer, maximizer, and externalizer ::

A very simple minimizer is LineMinimizer. It shows the minimized dockables in a line at the bottom of a panel.
The maximizer that is usually used is a SingleMaximizer. It shows one maximized dockable in a panel.
The externalizer that is usually used is a FloatExternalizer.

In this example there is a minimizer around the root dock. Around the minimizer is a maximizer.

		// Create an externalizer.
FloatExternalizer externalizer = new FloatExternalizer(frame);
dockModel.addVisualizer("externalizer", externalizer, frame);
// Create a minimizer.
LineMinimizer minimizePanel = new LineMinimizer(splitDock);
dockModel.addVisualizer("minimizer", minimizePanel, frame);
// Create a maximizer.
SingleMaximizer maximizePanel = new SingleMaximizer(minimizePanel);
dockModel.addVisualizer("maximizer", maximizePanel, frame);
...
// Minimize dockables.
minimizer.visualizeDockable(dockable5);
minimizer.visualizeDockable(dockable6);
minimizer.visualizeDockable(dockable7);
minimizer.visualizeDockable(dockable8);
// Externalize dockable.
//externalizer.visualizeDockable(dockable9);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Point location = new Point((screenSize.width - 200) / 2, (screenSize.height - 200) / 2);
externalizer.externalizeDockable(dockable9, location);

 

:: Using a docking minimizer ::

A more complicated minimizer is DockingMinimizer. It shows the minimized dockables in lines at the borders of a border dock. The minimized dockables can move in their lines, be dragged to other lines, or even be made floating.

In this example there is a maximizer around the root dock. Around the maximizer is a docking minimizer. The minimizer uses a border dock in mode MODE_MINIMIZE_BAR. This dock is a root dock and has to be registered in the dock model as root dock:

		// Create a maximizer and add it to the dock model.
SingleMaximizer maximizePanel = new SingleMaximizer(splitDock);
dockModel.addVisualizer("maximizePanel", maximizePanel, frame);
// Create a docking minimizer.
BorderDock borderDock = new BorderDock(new ToolBarDockFactory());
borderDock.setMode(BorderDock.MODE_MINIMIZE_BAR);
borderDock.setCenterComponent(maximizePanel);
BorderDocker borderDocker = new BorderDocker();
borderDocker.setBorderDock(borderDock);
DockingMinimizer minimizer = new DockingMinimizer(borderDocker);
// Add the minimizer to the dock model, add also the border dock used by the minimizer to the dock model.
dockModel.addVisualizer("minimizePanel", minimizer, frame);
dockModel.addRootDock("minimizerBorderDock", borderDock, frame);
// Add the border dock of the minimizer to this panel.
this.add(borderDock, BorderLayout.CENTER);
// Minimize dockables 5, 6, 7, and 8.
minimizer.visualizeDockable(dockable5);
minimizer.visualizeDockable(dockable6);
minimizer.visualizeDockable(dockable7);
minimizer.visualizeDockable(dockable8);

 

:: Create a custom minimizer ::

If you want to minimize your dockables in a different way, you have to create your own visualizer implementation. This is shown in WindowMinimizerExample. The minimizer shows its minimized components in a dialog.

:: Headers used by minimizers and maximizers ::

When a dockable is maximized, a maximize header is displayed above the dockable. When a dockable is minimized, the dockable is represented by a minimize header. The SwComponentFactory is responsible for creating those headers:

The following example uses a little image of the dockable component, when the dockable is minimized:
	...
// Set our custom component factory that creates headers for minimized dockables with an image.
DockingManager.setComponentFactory(new CustomComponentFactory());
...
/**
* The header of a minimized dockable will be an image of the dockable component.
*/
private class CustomComponentFactory extends DefaultSwComponentFactory
{
// Overwritten methods.
public SelectableHeader createMinimizeHeader(Dockable dockable, int position)
{
return new ImageMinimzeHeader(dockable, position);
}
}

 




The source code of the samples can be found in:

VisualizersExample Shows the usage of a minimizer, maximizer, and externalizer.
DockingMinimizerExample Shows the usage of a docking minimizer.
ImageDockingMinimizerExample Shows the usage of a docking minimizer with images.
WindowMinimizerExample Shows the creation of a new minimizer.
ExternalizerExample Shows the usage of an externalizer.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多