希望 NetBeans 为您提供更多功能吗?
  您希望倾心投入到 NetBeans 的开发中,并希望它能激发您开发另一个应用程序的热情。您希望聆听音乐、浏览网页、查看邮件、存储喜欢的 URL,以及维护日常任务 —— 所有这些都可在 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。完整项目请点击 此处 下载。要了解更多关于教程、文档方面的信息,请访问参数资料部分的链接。

作者:Amit Kumar Saha   

NetBeans 插件开发简介的更多相关文章

  1. netbeans 优化设置

    下面我就以Windows上的NetBeans安装为例,说说如何配置字体. 1.NetBeans界面上的普通字体大小,可以通过配置NetBeans安装目录下netbeans.conf启动文件来实现,这个 ...

  2. PS插件开发plugin

    Photoshop插件开发 VC++制作Photoshop自动化插件:http://blog.sina.com.cn/s/blog_73c52fda0101c7hw.html Photoshop 的扩 ...

  3. 老李分享:持续集成学好jenkins

    老李分享:持续集成学好jenkins   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.poptest测试开发工程师就业培训请大 ...

  4. Jenkins知识地图

    转自:http://blog.csdn.net/feiniao1221/article/details/10259449 这篇文章大概写于三个月前,当时写了个大纲列表,但是在CSDN上传资源实在不方便 ...

  5. Redmine it!

    redmine插件开发简介 最稳妥的学习应该是先看官方文档,官方还给了一个具体的插件开发教程,不过如果一步不差按照教程敲代码,其实会发现还是有些问题的,需要稍稍改动. 这里,我自己编写了一个简单的插件 ...

  6. gulp初体验记录(简介、插件开发介绍)

    目前用的业界比较知名的三个前端构建工具:grunt.gulp.fis,自己此前一直都是只在用grunt,fis看过一点,gulp则一直都没注意过,直到最近发现好像用的人越来越多,所以今天也就抽了点时间 ...

  7. rhythmbox插件开发笔记1:简介&入门

    rhythmbox是gnome下一款开源的音乐播放软件.ubuntu和fedora的桌面环境中均默认安装了rhythmbox. rhythmbox架构非常灵活,几乎所有地方都可以用插件来修改.用户想实 ...

  8. NetBeans简介和简单使用

    1.什么是NetBeans? NetBeans IDE:可以使开发人员利用Java平台能够快速创建Web.企业.桌面以及移动的应用程序: 支持语言:PHP.Ruby.JavaScript.Groovy ...

  9. [转]Eclipse插件开发之基础篇(6) SWT简介

    原文地址:http://www.cnblogs.com/liuzhuo/archive/2010/09/01/eclipse_plugin_1_3_1.html SWT(Standard Widget ...

随机推荐

  1. scott/tiger is locked 解决办法

    在plsql developer中要是以scott/tiger登录时提示ora-28000 the account is locked. 解决办法: 新装完Oracle10g后,用scott/tige ...

  2. SQL Server 的 RowGuid/RowGuidCol 是什么意思?

    SQL Server 中设计表时,有个属性叫 RowGuid(用 SQL 时,关键词是 RowGuidCol),这个是什么意思呢?这个是全局唯一标识符,与“标识”不同,标识是只在本表中唯一,全局唯一标 ...

  3. 检测到在集成的托管管道模式下不适用的 ASP.NET 设置

    system.webServer节点下加上 <validation  validateIntegratedModeConfiguration="false" />

  4. heckboxlist详细用法、checkboxlist用法、checkboxlist

    heckboxlist详细用法.checkboxlist用法.checkboxlist for (int i = 0; i < CheckBoxList1.Items.Count; i++) { ...

  5. Bitlocker驱动器加密使用

      前言 Bitlocker驱动器加密可以将磁盘加密,确保数据的安全.如果被加密保护的磁盘是Windows Server 2012操作系统磁盘,即使他被拿到另外一台计算机启动,除非已解锁,否则无法启动 ...

  6. JAVA随机数之多种方法从给定范围内随机N个不重复数

    一.JAVA中生成随机数的方式 1.在j2se中使用Math.random()令系统随机选取一个0~1之间的double类型小数,将其乘以一个数,比如25,就能得到一个0~25范围内的随机数,这个在j ...

  7. 026.7 网络编程 URL对象

    通过一个程序理解Java的url对象. String str_url = "http://127.0.0.1:8080?name=xxx"; URL url = new URL(s ...

  8. vue2.0学习笔记之路由(二)路由嵌套

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. bip32

    https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki RECENT CHANGES: (16 Apr 2013) Added p ...

  10. linux IP 命令使用举例(转)

    ip 1.作用ip是iproute2软件包里面的一个强大的网络配置工具,它能够替代一些传统的网络管理工具,例如ifconfig.route等,使用权限为超级用户.几乎所有的Linux发行版本都支持该命 ...