NetBeans 插件开发简介
NetBeans IDE 是一个基于插件的开发环境。换句话说, NetBeans 有一个 模块化的架构。简单地说,我们拥有一个最基本的集成开发环境,然后通过编写插件来扩展 IDE,从而丰富它的功能。NetBeans 平台 就是这种基本 IDE。您看到的大多数 NetBeans 中的功能是由这些插件实现的。
NetBeans 插件模块和相关后台
顾名思义,插件模块就是插入到 NetBeans IDE 中用于提供某些特定功能的模块。插件可以拥有图形用户界面,也可能没有图形用户界面。我们已着手将插件的概念更好地付诸实践,我确信您已经安装了不只一个 Mozilla Firefox 插件使您享受更好的浏览体验。
基本术语请参阅 http://platform.netbeans.org/tutorials/nbm-glossary.html。
NetBeans Platform:主干应用程序,它提供大多数应用程序所需的全部内容,而大多数应用程序不需要的内容则不提供。NetBeans Platform 提供了一个应用程序的常用需求,例菜单、 文件管理和设置 —— 全部是即开即用的。“在 NetBeans 上”构建一个应用程序意味着,不是从头开始编写应用程序,而是只提供 NetBeans Platform 尚不具有的应用程序部分。开发周期结束时,您将您的应用程序与 NetBeans Platform 一起打包,从而节省了大量时间和精力,并获得强健可靠的应用程序。
System Filesystem:常规注册表,它包含从已注册模块的 layer.xml 配置文件中构建的 NetBeans 配置信息。NetBeans 将各种配置信息存储在 System Filesystem 中。例如,System Filesystem 包含一个 Menu 文件夹,该文件夹包含了一个具有名称(例如 File 和 Edit)的子文件夹。这些子文件夹包含代表 Java 类的文件,这些类执行在 IDE 的“File”和“Edit”菜单中出现的操作。
Module:一组 Java 类,提供具有特定功能的的应用程序。Java 类使用 manifest.mf 文件声明模块和 layer.xml 配置文件,用以在 System Filesystem 中注册它们的功能。在 NetBeans 术语中“plugin” 是一个形容词 而“module”是一个名词。二者之间没有没有明显的语义差异。
NetBeans API:插件模块编写人员都可以使用的公共接口和类。根据它们提供功能的不同类型,将它们分为特定的应用程序接口(API)。正如 API 参考文档中指定的,Java 源包及其子包的内容和行为就是 API。要获得全部 NetBeans 应用程序接口列表(NetBeans API List),请单击 此处。
Module Suite:一组部署在一起相互依赖的模块。IDE 帮助您标记该套件 —— 例如您可以添加一个启动画面,您还可以指定不想让应用程序提供的一部分 NetBeans 平台。
编写第一个插件
您现在会看到怎样写入第一个插件。插件将做些什么?除了在编辑器中创建一个“Start Page”选项卡之外还能创建另一个“选项卡”。
不,还不够漂亮,但足以达到演示的目的了 :-)
创建新模块项目
创建一个新的模块项目,将它命名为“nbmodule-demo”。
选中“Standalone Module”选项。
基本的模块配置
代码基(Code Name Base):将 'myorghere' 替换为 'mymodule' 从而获得“org.mymodule.nbmoduledemo”。
模块显示名称(Module Display Name):nb-module-demo
本地化捆绑(Localizing Bundle):保持默认。该插件指定了用于国际化特定于语言的字符串。
XML 层(XML Layer):保持默认。它在 NetBeans System Filesystem 中注册像菜单和工具栏按钮这样的项目。
单击“Finish”按钮。
系统生成了项目代码结构:
主干模块现在准备就绪。接下来,我们将为希望模块执行的特定任务添加代码。
添加一个“Window Component”
右键单击'org.mymodule.nbmoduledemo'选项。
选择“New-> Window Component”。
新窗口(New Window)
窗口位置(Window Position):“editor”,目的是向编辑器中添加一个“选项卡”。
选中“Open on Application Start”选项。
在“Class Name Prefix”字段中输入“AppUIMain”。
如果您愿意您可以选择一个图标。
单击“Finish”按钮。
三个新文件已添加到“org.mymodule.nbmoduledemo”项目源包中。
“AppUIMainTopComponent.java”是一个决定插件 GUI 的文件。切换到设计视图。
分别添加一个“Label”、“Combo box”和“Button”:
现在插件准备就绪。
在 NetBeans 中加载插件模块
右键单击模块项目并选择“Install/Reload in Target Platform”。
一个新的 NetBeans 实例启动,您可以看到新的“选项卡”。
注释
本文演示了如何通过插件模块轻松地扩展 NetBeans。完整项目请点击 此处 下载。要了解更多关于教程、文档方面的信息,请访问参数资料部分的链接。
NetBeans 插件开发简介的更多相关文章
- netbeans 优化设置
下面我就以Windows上的NetBeans安装为例,说说如何配置字体. 1.NetBeans界面上的普通字体大小,可以通过配置NetBeans安装目录下netbeans.conf启动文件来实现,这个 ...
- PS插件开发plugin
Photoshop插件开发 VC++制作Photoshop自动化插件:http://blog.sina.com.cn/s/blog_73c52fda0101c7hw.html Photoshop 的扩 ...
- 老李分享:持续集成学好jenkins
老李分享:持续集成学好jenkins poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.poptest测试开发工程师就业培训请大 ...
- Jenkins知识地图
转自:http://blog.csdn.net/feiniao1221/article/details/10259449 这篇文章大概写于三个月前,当时写了个大纲列表,但是在CSDN上传资源实在不方便 ...
- Redmine it!
redmine插件开发简介 最稳妥的学习应该是先看官方文档,官方还给了一个具体的插件开发教程,不过如果一步不差按照教程敲代码,其实会发现还是有些问题的,需要稍稍改动. 这里,我自己编写了一个简单的插件 ...
- gulp初体验记录(简介、插件开发介绍)
目前用的业界比较知名的三个前端构建工具:grunt.gulp.fis,自己此前一直都是只在用grunt,fis看过一点,gulp则一直都没注意过,直到最近发现好像用的人越来越多,所以今天也就抽了点时间 ...
- rhythmbox插件开发笔记1:简介&入门
rhythmbox是gnome下一款开源的音乐播放软件.ubuntu和fedora的桌面环境中均默认安装了rhythmbox. rhythmbox架构非常灵活,几乎所有地方都可以用插件来修改.用户想实 ...
- NetBeans简介和简单使用
1.什么是NetBeans? NetBeans IDE:可以使开发人员利用Java平台能够快速创建Web.企业.桌面以及移动的应用程序: 支持语言:PHP.Ruby.JavaScript.Groovy ...
- [转]Eclipse插件开发之基础篇(6) SWT简介
原文地址:http://www.cnblogs.com/liuzhuo/archive/2010/09/01/eclipse_plugin_1_3_1.html SWT(Standard Widget ...
随机推荐
- 运维利器万能的 strace
strace是什么? 按照strace官网的描述, strace是一个可用于诊断.调试和教学的Linux用户空间跟踪器.我们用它来监控用户空间进程和内核的交互,比如系统调用.信号传递.进程状态变更等. ...
- VS2015 调试 条件和操作设置
vs 开发过程中,经常会遇到这样的场景: 例如有几千条数据,调试代码的时候需要在循环中走到name="A"的这条数据, 并且单步调试这条数据走完整个逻辑过程.这个时候调试的条件设置 ...
- MyEclipse免费使用
import java.text.DecimalFormat; import java.text.NumberFormat; import java.text.SimpleDateFormat; im ...
- MySQL优化—工欲善其事,必先利其器(2)
上一篇文章简单介绍了下EXPLAIN的用法,今天主要介绍以下几点内容: 慢查询日志 打开慢查询日志 保存慢查询日志到表中 慢查询日志分析 Percona Toolkit介绍 安装 pt-query-d ...
- 每年有20万人进军IT行业,为何还会人才短缺?
众所周知,IT行业是个高薪行业,也是很多人的梦想职业,在全球最缺人的十大行业中IT行业居首位. 但是现在很多人都有一个疑问: 几乎每所大学里都有计算机技术相关专业,再加上IT培训机构的输出,每年培养出 ...
- ICP点云配准原理及优化
ICP算法简介 根据点云数据所包含的空间信息,可以直接利用点云数据进行配准.主流算法为最近迭代算法(ICP,Iterative Closest Point),该算法是根据点云数据首先构造局部几何特征, ...
- 2-5 R语言基础 factor
#因子:分类数据#有序和无序#整数向量+标签label#Male/Female#常用于lm(),glm() > x <- factor(c("female"," ...
- BZOJ1011:[HNOI2008]遥远的行星(乱搞)
Description 直线上N颗行星,X=i处有行星i,行星J受到行星I的作用力,当且仅当i<=AJ.此时J受到作用力的大小为 Fi->j=Mi*Mj/(j-i) 其中A为很小的常量, ...
- 1036. [ZJOI2008]树的统计【树链剖分】
Description 一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w.我们将以下面的形式来要求你对这棵树完成 一些操作: I. CHANGE u t : 把结点u的权值改为t II. ...
- 修改Lotus notes默认浏览器
notes收到的邮件里面的链接,点了以后会自动在notes里打开,但notes很弱,加载页面总是有问题.怎么才能让他默认用ie浏览器打开呢,怎么设置,请教达人. 右下角有个office->Edi ...