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 ...
随机推荐
- 在 Azure 中将基础结构自动化工具与虚拟机配合使用
若要以一致的方式大规模创建和管理 Azure 虚拟机 (VM),通常需要某种形式的自动化. 可以通过许多工具和解决方案来自动完成整个 Azure 基础结构部署和管理生命周期. 本文介绍了一些可以在 A ...
- 实战分析: MySQL字符集
原创: 吴炳锡 MySQLBeginner 实战分析: MySQL字符集说明 在本文中讨论以下几个问题: 1. GBK和UTF8占用几个字节 2. ASCII码在不同字符集中占用几个字节 3. MyS ...
- 像azure一样桌面显示Windows系统信息
介绍 我们在使用azure的公有云时,可以看到打开虚拟机时右上角可以显示系统配置信息和公网私有地址,很好奇如何做到的,终于经过询问一位微软的朋友,他帮我找到了这个工具 工具地址:https://tec ...
- Hadoop HBase概念学习系列之HBase里的客户端和HBase集群建立连接(详细)(十四)
需要遵循以下步骤: 1.客户端和Zookeeper集群建立连接.在这之前客户端需要获得一些信息(可以从HBase配置文件中读取或是直接指定).客户端从Zookeeper集群中读取-ROOT-表的位置信 ...
- PAT 1025 反转链表
PAT (Basic Level) Practise 1025 Github链接:https://github.com/H-BING/object-oriented/tree/master/PAT10 ...
- Django商城项目笔记No.16用户部分-用户中心收货地址
首先完成省市区三级联动 新建areas应用 python ../../manage.py startapp areas 模型类代码 class Area(models.Model): "&q ...
- STM32学习之路-LCD(2)
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/u011791262/article/details/27711881 这些天一直在研究LCD的初始化 ...
- Android Studio运行找不到Genymotion虚拟机
如图: 在Genymotion->Settings下ADB选项卡下选择使用SDK工具: 完成后试试吧
- 智能家居 (2)手机一键自配置APP
说明 本教程主要记录APP端一键自配置功能+TCP/IP通信 0配套使用单片机烧录 /* 文件名称:smartconfig.ino 功能:ESP8266快速配置功能 作者:www.doit.am 日期 ...
- Oracle 11g常用管理命令(用户、表空间、权限)
PS:下面是Oracle 11g最常用的基本管理命令,包括创建用户.表空间,权限分配等.以下命令本人都验证操作过,并加上了本人的小结与说明. 1.启动oracle数据库: 从root切换到oracle ...