使用TopComponent群组
来源:互联网 发布:矩阵led大灯 编辑:程序博客网 时间:2024/06/06 00:52
TopComponent群组的作用是在打开一个TopComponent组件的同时,打开其他相关的TopComponent组件。例如,当打开或者激活GUI编辑器的时候,“组件面板”、“属性”窗口和“检查器”窗口都会出现。当需要一个组件同时伴随着很多其他类似于组件面板窗口的时候,利用TopComponent群组可以轻松实现一个组件的激活引发其他组件被打开或者被选中。
定义群组涉及到2种XML文件。首先是wsgrp,它代表“窗口系统群组(Window System Group)”。它定义了“窗口系统”的群组,系统根据它的定义查找对应的目录,它也定义了群组是否应该在启动时打开。另一个文件是wstcgrp,它代表“窗口系统TopComponent群组(Window System TopComponent Group)”,这个文件通过ID识别单态的TopComponent组件,同时还定义了一些群组的打开和关闭属性。
TopComponent群组编程实例
首先创建一个模块项目TopComponentGroup,然后新建2个窗口组件(TopComponent),命名为EditorTopComponent和SatelliteTopComponent,就像窗口的名字所表示的那样,SatelliteTopComponent将会随着EditorTopComponent的打开和关闭一同打开和关闭。
首先新建一个名为EditorGroupWsgrp的xml文件,这个文件里定义了名为EditorGroup的编辑器窗口群组。
<module name="org.jqueen.nb.topcomponentgroup" spec="1.0" />
<name unique="EditorGroup" />
<state opened="false" />
</group>
再新建一个名为SatelliteTopComponentWstcgrp的xml文件,在这个文件里可以通过ID识别出SatelliteTopComponent组件。
<tc-id id="SatelliteTopComponent" />
<open-close-behavior open="true" close="true" />
</tc-group>
编辑模块的layer.xml文件,在系统文件系统中的Windows2目录添加一个Group文件夹,将名为"EditorGroup"的群组添加进Group。
<file name="EditorGroup.wsgrp" url="EditorGroupWsgrp.xml"/>
<folder name="EditorGroup">
<file name="SatelliteTopComponent.wstcgrp" url="SatelliteTopComponentWstcgrp.xml"/>
</folder>
</folder>
编辑EditorTopComponent内容,重写TopComponent类的componentOpened()和componentClosed()方法,在EditorTopComponent被打开和关闭时打开和关闭名为"EditorGroup"的群组。
protected void componentOpened() {
TopComponentGroup group = WindowManager.getDefault().findTopComponentGroup("EditorGroup");
if (group != null) {
group.open();
}
}
@Override
public void componentClosed() {
TopComponentGroup group = WindowManager.getDefault().findTopComponentGroup("EditorGroup");
if (group != null) {
group.close();
}
}
至此,就完成了一个TopComponent群组的编辑。执行模块项目,当从窗口菜单中打开EditorTopComponent时SatelliteTopComponent会自动打开,EditorTopComponent被关闭时SatelliteTopComponent也会自动关闭。
样例程序下载
- 使用TopComponent群组
- NetBeans选择管理教程 I—使用TopComponent的Lookup
- TopComponent 簡介
- TopComponent 的 method 的執行順序
- NetBeans创建多实例编辑器风格的TopComponent
- NeBeans模块中关闭TopComponent之后资源无法释放问题
- 使用
- 使用
- 使用
- 使用
- 使用
- 使用
- 使用++,--
- 使用$@ $!
- 使用
- SoftICE使用(指令使用)
- 使用GraphEdit使用
- 使用HtmlParser使用心得
- linux经典书籍
- 你的代码需要重构吗?
- SELinux引发的FTP、Samba的错误
- OpenCL内核函数中定义double类型变量
- 史上最经典的Linux内核学习方法论
- 使用TopComponent群组
- Eclipse 常用快捷键(转)
- oracle 触发器小记
- 用opencv简单显示图像和视频(代码有注释)
- C++不使用第三变量一互换两值
- hdu2141Can you find it?
- Beyond
- 从追MM谈Java的23种设计模式(转别人的)
- VOD点歌系统简介