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

来源:百度文库 编辑:神马文学网 时间:2024/04/26 06:54:28

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

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

A Visualizer shows a Dockable in a special state.一个展台展示了可停靠在一个特殊的状态。 The special state is usually DockableState.MAXIMIZED or DockableState.MINIMIZED .特殊的状态通常DockableState.MAXIMIZED或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:展示台必须在码头模型注册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是负责创建的标题:

  • SwComponentFactory.createMaximizeHeader(com.javadocking.dockable.Dockable, int) SwComponentFactory.createMaximizeHeader(com.javadocking.dockable.Dockable,诠释)
  • SwComponentFactory.createMinimizeHeader(com.javadocking.dockable.Dockable, int) SwComponentFactory.createMinimizeHeader(com.javadocking.dockable.Dockable,诠释)
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:

  • SwComponentFactory.createMaximizeHeader(com.javadocking.dockable.Dockable, int)
  • SwComponentFactory.createMinimizeHeader(com.javadocking.dockable.Dockable, int)
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.