ITPub博客

首页 > Linux操作系统 > Linux操作系统 > NetBeans富客户端编程权威教程

NetBeans富客户端编程权威教程

原创 Linux操作系统 作者:china-pub 时间:2008-10-30 09:55:13 0 删除 编辑

NetBeans富客户端编程权威教程



其它详细信息请查看:http://www.china-pub.com/301656

【原 书 名】 Rich Client Programming: Plugging into the NetBeans Platform 
【原出版社】 Prentice Hall PTR 
【作  者】Tim Boundreau;Jaroslav Tulach;Geertjan Wielenga
【译  者】 叶亮
【出 版 社】 清华大学出版社     【书 号】 9787302182030 
【出版日期】 2008 年9月 【开 本】 16开 【页 码】 445     【版 次】1-1 

  市场价 :¥58.00    pub价:¥43.50

【编辑评论】
1.SUN中国技术社区推荐技术用书!!!.
2.是一本有关NetBeans富客户端应用程序开发的权威指南..
3.内容涵盖了NetBeans 5.5和6.x版本
4.由三位顶级NetBeans专家联合编写,并由Sun中国的专家团队翻译和审校...

【内容简介】
这是一本有关NetBeans富客户端应用程序开发的权威指南,内容涵盖了NetBeans 5.5和6.x版本,重点介绍了如何使用NetBeans平台作为框架,开发“一次编写,处处运行”的富客户端应用程序。旨在帮助读者掌握NetBeans模块的开发,精通NetBeans的主要API,以及学会一些构建可靠桌面软件的技术与技巧。.
本书由三位顶级NetBeans专家联合编写,并由Sun中国的专家团队叶亮等人翻译和审校,是中国读者不可多得的NetBeans学习用书,也是Sun中国技术社区推荐的NetBeans技术用书。
本书主要内容
·模块开发对于小、中和大型应用程序的重要意义
·使用NetBeans加快开发速度和提高效率
·利用NetBeans的各项生产率特性(从组件面板到代码完成)
·在自己开发的应用程序中利用NetBeans的模块体系结构..
·实现松散耦合的交互,以提高代码的可维护性和健壮性
·管理用户配置和系统配置数据
·使用牢固的线程模块构建可重载的组件
·构造复杂的多窗口应用程序,并将富客户端数据结构显示给用户
·添加用户可配置的选项
·整合Web服务与NetBeans桌面应用程序
·自动化模块更新和为用户提供帮助...

【前言】
欢迎进入NetBeans 平台的富客户端开发世界。.
虽然因特网的蓬勃发展使得人们更热衷于服务器端的开发,但对高质量桌面软件的需求却从未减少,反而在一定程度上有所增加。其中部分原因包括:
● Web页面—— 通常作为服务器驱动的应用程序的界面,经常无法充分满足最终用户的需求。
● 并不是所有的应用都要求持续的网络连接,很多应用需要脱机运行。
本书将重点介绍如何使用NetBeans平台作为框架,开发“一次编写,处处运行”的富客户端应用程序。NetBeans平台是NetBeans IDE(集成开发环境)的基础。数以万计的开发者利用NetBeans IDE完成了不同规模和复杂度的应用程序。毋庸置疑,NetBeans平台十分强大而健壮,完全可以作为大多数应用程序的基础,无论它们是商业的还是内部的解决方案。除此之外,本书还会介绍如何编写应用于NetBeans IDE本身的插件模块。
富客户端应用程序
“富客户端应用程序”到底是指什么呢?富客户端应用程序是指绝大多数功能(可以不是全部)运行在用户本地系统上的应用程序。与之相反的是Web应用程序,它的所有功能完全依赖于运行在远程服务器上的代码,用户通常使用Web浏览器访问Web应用程序。“富客户端”这个词可以被当作是 “桌面应用程序”的一个时髦的绰号。举例来说,NetBeans IDE本身就是一个典型的富客户端应用程序。
什么是NetBeans
NetBeans是一个流行的、屡获殊荣的、用于Java开发的集成开发环境(IDE)。它的核心是NetBeans平台—— 一个模块化的、可扩展的应用程序框架。所以,NetBeans IDE本身是NetBeans 平台以及一系列模块的完美集合。
在早期发展阶段,为了使NetBeans IDE的开发更加灵活,它的体系结构被设计得高度模块化。NetBean IDE模块化的体系结构带来了如下优势:
● 创建新特性十分简单。
● 用户可以轻松地增加或删除功能。
● 安装后,用户可以方便地更新某个特性,而不会影响其他功能。
NetBeans平台高度模块化的特点吸引了全世界的众多开发者。数量众多的NetBeans平台应用应运而生。NetBeans IDE就是其中最著名的一个。NetBeans平台被用于各行各业的应用程序的开发,从语音处理到地质填图再到股票交易。
为什么使用NetBeans
基于NetBeans平台的应用程序有很多优势,其中首屈一指的当然是其真正的跨平台特性。实际上,开发跨平台的富客户端应用程序有很多种方法。例如,可以使用Swing组件自行编写桌面应用程序的所有模块。但是,如果使用NetBeans平台的话,可以直接使用应用程序所需的众多强大的构造模块和底层构架,不用再像以前那样从头开始编码了。显然,这将节省大量的时间。开发者可以根据应用程序的逻辑编写新的Swing组件,并将其加入到NetBeans平台中,也可以在NetBeans平台中直接使用诸如JGraph、JFreeChart等第三方库。总而言之,利用NetBeans平台可以很容易地开发出健壮且灵活的应用程序。开发者只需要关注应用程序的业务逻辑。就像JSF(JavaServer Faces)技术和Struts是为了Web开发而生,NetBeans平台是为了Swing开发而生。
以下是NetBeans平台最突出的几个优势:
● NetBeans是免费的,任何人都可以免费使用其代码,无论将它用于开发商业软件还是非商业软件都是如此。
● NetBeans是一个成熟的、功能丰富的应用程序框架。NetBeans平台由众多的组件构成,它们原本是为NetBeans IDE服务的—— 不计其数的软件工程师使用过NetBeans IDE。但实际上,NetBeans平台可以用来开发任何类型的桌面应用程序,不仅仅是某种集成开发环境或类似的应用。NetBeans平台为应用程序提供了高质量的基础。
● NetBeans是一个真正的“一次编写,处处运行”的平台。NetBeans基于Swing——  一个纯Java的可视化工具集,它是所有桌面Java安装版的一部分。
● NetBeans技术是标准化的、开源的。这意味着,任何人都不用担心在NetBeans平台基础上进行开发会产生专利锁定的问题。
● NetBeans IDE的插件拥有大量的潜在用户。假如某人希望向公众展示一些新技术,他只需要开发一个相应的NetBeans IDE插件模块,将其发布在NetBeans 插件的门户网站上(http://plugins.netbeans.org/PluginPortal),立刻就可以轻松地吸引众多用户。
● NetBeans拥有一个活跃的社区。NetBeans平台的成长正是得益于这个强大社区中的众多开发者,他们热切地希望与大家共享他们的经验。如果你正好有一个关于NetBeans的问题,那么请去社区中寻找答案。因为很可能某人曾经遭遇过和你一样的问题,他可以帮助你。
NetBeans平台为开发者提供哪些资源
NetBeans平台为开发者提供的资源包括:一系列丰富的基础功能,可用于创建新特性的扩展API,以及一组用来协助开发的强大工具。
开发基于NetBeans平台的应用程序时,开发者可以利用的资源包括:
● 窗口系统(Window System),它极大地简化了在一个frame中对众多组件的操作。
● 操作系统(actions system),利用它可以简单地以声明的方式安装或卸载菜单项、工具栏、键盘快捷键等资源。
● 自动更新机制,为应用程序提供了一种动态更新的方式。
● NetBeans IDE本身提供的所有特性都可以用来简化应用程序的开发。例如,代码补全和高效的GUI编辑器(之前的代号叫做Matisse)—— 通过简单地拖拽和重新排列组件,能够可视化地创建用户界面。除此之外,NetBeans IDE还提供了针对模块开发的特殊功能。例如模块模板和方便的模块测试功能 ——  随时可以把模块安装或者重新载入到当前运行的IDE中。
● 得益于NetBeans平台所鼓励使用的模块化编码技术,基于NetBeans平台的应用程序会更加健壮。
为什么阅读本书
NetBean IDE越来越流行,同时,越来越多的人已认识到利用NetBeans平台可以很方便地创建任何类型的桌面应用程序。显然,大家急切地需要一本指导书。实际上,有很多NetBeans平台的信息都散布在不同地方,但没有一本完整的教材来演示如何使用整个NetBeans平台。本书集作者多年积累的经验、最佳实践和实用信息于一身。
本书将帮助读者快速掌握模块的开发,并且指导读者学习绝大多数重要的API。在这个过程中,读者也将学习到一些使NetBeans可靠而又灵活的开发实践。..
如何使用本书
本书由22个章节、2个用例及3个附录组成。
● 第1章,做一些准备工作,演示创建一个模块的基本过程。
● 第2章和第3章,讨论模块化开发的优势并提供NetBeans平台模块化构架的概况。
● 第4章和第5章,解释NetBeans模块协同工作的基本概念,展示NetBeans平台使得模块化应用高耦合的机制。
● 第6章,介绍文件系统(Filesystems)API,它是NetBeans平台处理用户数据和系统配置数据的基础构架。
● 第7章,巩固第6章的内容,并且展示如何基于NetBeans平台创建一个简单的导航(Navigator)组件。
● 第8章,解释并演示在NetBeans中创建一个成熟的多窗口应用程序所需的组件和特性。
● 第9章,介绍Node和Explorer API,利用它们可以以多种方式向用户展示数据结构。
● 第10章,重点介绍数据系统(Datasystems)API,利用它可以以多种方式、简单地在程序中操作特定类型的文件。
● 第11章,介绍NetBeans IDE的GUI构建器,演示如何利用它简化基于NetBeans平台应用程序的用户界面开发。
● 第12章,在第11章的基础上,展示如何为单个文件的内容提供多种表现形式。
● 第13章和第14章,展示为某种文件类型加入编辑特性的方法。
● 第15章,解释如何创建一个对象调色板,并通过一个实例演示如何实现从调色板中拖拽代码片段到文本编辑器中。
● 第16章和第17章,介绍如何开发更多的编辑特性。
● 第18章,演示如何为应用程序加入用户定制选项。
● 第19章,以Wicket为例,介绍如何为IDE加入对Web应用框架的支持。
● 第20章,介绍如何让NetBeans平台应用程序支持使用Web服务。
● 第21章,演示如何在应用程序中集成帮助文档。
● 第22章,展示如何将更新后的模块(和新模块)加入到用户的动态更新中心。
● 最后两章是NetBeans平台的用户案例。第23章介绍的案例演示了如何在NetBeans IDE中集成现有开发工具。第24章的案例展示了如何创建一个创建音频的编辑器。
● 附录中的信息有助于学习如何提高代码的健壮性、可读性、灵活性及性能。
本书并没有涉及到很多NetBeans IDE本身的一些特性,而是更关注实现这些特性的API。如果读者对如何使用NetBeans IDE开发标准Swing、Web、企业、移动或者其他Java应用程序感兴趣,可以找到很多优秀的参考资源。例如NetBeans IDE Field Guide一书(同样由Prentice Hall出版),NetBeans IDE自带的文档,以及www.netbeans.org和http://wiki.netbeans.org 网站上的资源。
没有一本参考书可以代替所有参考文档,本书也不例外。读者可以在NetBeans平台的网站(http://platform.netbeans.org) 上找到完整的NetBeans API参考文档。或者直接通过NetBeans IDE的“更新中心”下载它。开发者问题集(Developer FAQ,http://wiki.netbeans.org/wiki/view/NetBeansDeveloperFAQ)也是一个很好的资源,读者可以在其中查到不断重复的问题的答案。NetBeans邮件列表—— 特别是  dev@openide.netbeans.org邮件列表 ——  对于寻求罕见问题的答案特别有用。如果读者正计划开发NetBeans模块,我们强烈建议注册参与这个邮件列表。通过它,读者可以与整个NetBeans开发团队和社区交流。当然,其中也包括本书的作者。
在开始开发NetBeans模块之前,最好检查一下更新中心(在“工具”菜单中),确保拥有最新版本的NetBeans模块开发工具。这些工具包含很多模板以及其他简化模块开发的特殊支持。
如何更新
访问本书的主页(www.netbeans.org/books/rcp.html),下载更新和其他额外的内容。本书的内容主要针对NetBeans平台的5.5版本,它是目前最新的正式发布版。新版本会持续地跟进。尽管本书的内容对NetBeans 6.0版本也有价值,同时也适用于未来的其他版本。但建议读者最好访问“升级指南”(www.netbeans.org/download/dev/javadoc/apichanges.html),以便能在学习5.5版本之后明白有哪些API改变了、增强了或是抛弃了。本书会对6.0版本改变的地方加以特别注明。...

【序言】
序    一 
没有好的工具,好技术就仅仅只是“好技术”而已。优秀的工具能够使伟大的技术获得更多用户,让它有能力改造产业,从而真正改变整个国际互联网的局面。相信你能够明白,NetBeans对于Sun、国际互联网和整个用户社区有多么重要。.
现在,每一个产品或者网络服务最初都是由一个想法开始的。NetBeans所做的,就是把想法变为现实。它从布拉格的一个小团队开始,发展到位于加州Menlo Park稍大些的团队,直至跨越全球的更大队伍。最初的团队由社区中一群忠实的用户和开发者组成,虽然那时规模不大,但它确实是我们所见过的成长最快的多平台开发环境。
激烈的竟争、创新、发明和投入带来了无可匹敌的增长。毋庸置疑,NetBeans将继续在全世界范围内迅猛发展。
在我负责Sun开发工具团队的时候曾经说过,理解一个技术公司的策略有两种方法:首先是观察它如何均衡销售力量,从而理解它当前的战术重点;其次是观察其开发工具发展路线,以了解它的长远战略重点。
Sun的其他产品没有一个能比NetBeans更好地展现我们所预想的未来。作为Sun的代表,同时也作为协作社区中的一员,NetBeans的发展相当耀眼。我可以毫无保留地说,NetBeans将拥有一个惊心动魄的未来。
Jonathan Schwartz
Sun Microsystems, Inc.首席执行官、主席
blogs.sun.com/jonathan

序    二 
我从20世纪90年代末开始使用NetBeans Developer 2.0,但那时并不关心它的内部构造。直到2000年,我加入Sun的NetBeans团队开发NetBeans 3.0,才真正了解它。我来自Win 32 API、MFC和COM领域,对Java库和Swing有一定的了解,读过“Gang of Four”的宝典及很多关于设计模式和面向对象编程的书籍。不过我发现,NetBeans API在很多方面与我之前熟悉的东西不太一样。“Cookie用了哪种设计模式?”“为什么表示一个视图或窗口的类叫做TopComponent?”“FileObjects、DataObjects和Nodes有什么不同?”“SplittedPanel?这种语法好像不大对吧?”而且令人惊奇的是,尽管NetBeans核心团队有与生俱来的反权威的文化,但NetBeans中几乎所有东西都可以通过一个叫做TopManager的单态类进行访问。
不过很快我就发现,不管那些名词或概念有多奇怪,NetBeans的构架都拥有很强的重用性和扩展性,它允许开发者轻松地加入任何新特性——或者把NetBeans核心类作为一套框架使用,开发出自己的应用程序。我开始认识到,NetBeans不仅仅是一个IDE,它还是一个强大的概念,可以节省开发者数年的开发时间——NetBeans是一个平台。..
我也明白了为什么有些组件第一眼看起来有点陌生和奇怪。NetBeans起初是20世纪90年代中期的一个学生项目。包括架构师在内的多数开发者都是在校或刚毕业的学生。他们在软件设计方面的经验并不是很多。所以,他们一边学习一边努力工作。有些时候不得不“重新造轮子”,有些时候要为已经存在的东西引入新的名称。不可否认,他们有时候也会犯设计错误。尽管如此,“用Java实现一个可扩展的应用程序平台”这个最初的构想是非常明智、创新和富有远见的。
NetBeans: The Definitive Guide(O’Riley)成书于2001年至2002年,是当时唯一一本全面介绍NetBeans API的书。它是让更多开发者认识NetBeans平台的第一次尝试。遗憾的是,正是在这个时候,出现了一些构架缺陷,妨碍了平台的进一步发展。当NetBeans: The Definitive Guide一书出版的时候,书中介绍的一些API已经消失,出现了一些新的API。这时的重点是让NetBeans IDE更加坚实可靠。而对平台的宣传被搁置到次要位置,只有非常接近NetBeans开发者社区的人才知道。
然而,NetBeans平台并没有消失。经过多年以后,它变得更好、更成熟。SplittedPanel已被抛弃。TopManager也被抛弃,取而代之的是Lookup——它在分布式、低耦合的模块化构架中,提供多样的查找特性和模块间通信机制。平台中的许多API都更加精简和稳定。NetBeans IDE 5.0加入了对开发模块和基于NetBeans平台应用程序的支持,使得创建一个模块变得更加简单。同时,所建立的platform.netbeans.org网站上,汇集了许多有价值的关于平台的文档、文章和教程。
现在唯一缺少的就是一本介绍NetBeans的新书。我要感谢Tim、Jarda、Geertjan和所有填补这个空白的贡献者们。我相信,本书将使更多的开发者了解和认识NetBeans平台。...
Jan Chalupa
NetBeans 总监

【目录】
第1章  NetBeans平台入门. 1
1.1  配置IDE 1
1.2  NetBeans IDE基础 2
1.2.1  创建模块 2
1.2.2  创建应用程序 3
1.2.3  使用文件模板 4
1.2.4  声明依赖关系 4
1.2.5  运行模块 5
1.2.6  定制应用程序 5
1.2.7  发布应用程序 6
第2章  模块化编程的优势 7
2.1  分布式开发 7
2.2  模块化应用 8
2.2.1  版本 8
2.2.2  次级版本信息 9
2.2.3  依赖管理 9
2.3  模块化编程宣言 10
2.4  使用NetBeans进行模块化编码 11
第3章  模块化的体系结构 15
3.1  模块—— 程序的装配单元 15
3.2  模块的类型 15
3.2.1  最终用户界面模块 16
3.2.2  简单程序库 16
3.2.3  多厂商支持 16
3.2.4  模块库 17
3.3  模块生命周期 18
3.4  模块群组 21
第4章  低耦合的交互 25
4.1  注册和查找 25
4.2  MetaInf服务 26
4.3  全局Lookup 27
4.4  编写扩展点 29
第5章  Lookup 33
5.1  拥有Lookup的对象 36
5.2  Lookup作为通信机制 37
5.3  Lookup和代理 40
5.4  Lookup和选择 42
5.5  编写Lookup敏感的操作 43
5.6  追踪全局选择 44
5.7  NetBeans API中遗留的Lookup模式变种 45
5.8  常见的Lookup模式 45
第6章  Filesytems 47
6.1  FileSystems 和FileObjects 48
6.2  需要处理什么类型的 FileSystem 49
6.3  层次 49
6.4  XML文件系统 50
6.5  声明式注册二:系统文件系统 51
6.5.1  “系统文件系统”是如何工作的 51
6.5.2  “系统文件系统”是可读写的 52
6.5.3  使用“系统文件系统”的FileChangeEvents 53
6.5.4  探索系统文件系统——菜单 54
6.6  从FileObject到Java对象 61
6.6.1  使用工厂方法从.instance文件创建对象 62
6.6.2  通过代码访问“系统文件系统” 64
6.6.3  使用.settings文件 66
6.7  浏览“系统文件系统” 66
6.8  小结 66
第7章  线程、侦听者模式和MIME查找 71
7.1  创建模块和SPI 72
7.2  实现ListModelProvider 73
7.2.1  建立依赖 74
7.2.2  创建XmlListModelProvider 75
7.2.3  注册XmlListModelProvider 85
7.3  提供一个UI组件 86
7.3.1  MIME查找SPI和API 86
7.3.2  提供一个窗口组件显示列表模型 87
7.4  使用Pseudo Navigator 92
7.5  小结:Pseudo Navigator——这张图片有什么错误? 92
第8章  窗口系统 95
8.1  窗口系统的作用 96
8.2  “窗口系统API”中的类 97
8.3  使用TopComponent 99
8.4  在会话间持久化状态 101
8.5  窗口系统持久化数据 103
8.6  创建编辑器样式的TopComponent(以非声明的方式) 106
8.7  高级窗口系统配置:自定义Mode 107
8.8  使用TopComponent群组 111
第9章  Node、Explorer视图、Action和Presenter 115
9.1  Node API 116
9.2  Explorer API 125
9.2.1  explorer视图组件的类型 125
9.2.2  创建显示Node的TopComponent 127
9.2.3  添加详细视图 129
9.2.4  使用Explorer API添加另一个详细视图 131
9.3  Action 136
9.3.1  Presenter 137
9.3.2  Action API和NetBeans标准操作 140
9.3.3  在菜单、工具栏和快捷键中安装全局Action 140
9.3.4  上下文感知操作 141
9.4  Node属性 142
9.5  Node和DataObject:创建系统文件系统浏览器 145
9.6  小结:节点、表单属性和用户界面设计 147
第10章  DataObject和DataLoader 149
10.1  DataObject来自哪里? 151
10.2  添加对新文件类型的支持 152
10.2.1  为NetBeans添加对ManiFest文件的支持 152
10.2.2  由manifest文件提供Manifest对象 157
10.2.3  由ManifestDataObject和ManifestDataNode提供ManifestProvider 157
10.2.4  图标徽章 160
10.2.5  用JUnit测试ManifestDataObject 164
10.3  在内部使用自定义的文件类型 170
10.4  序列化对象和系统文件系统 170
第11章  图形用户界面 173
11.1  介绍 173
11.2  新建GUI窗体 175
11.3  在窗体中放置和排列组件 175
11.4  设置组件的大小和大小可调性 176
11.5  设定组件的行为和外观 177
11.6  生成事件侦听和处理方法 178
11.7  定制生成的代码 180
11.8  用可视化的方法构建浏览器视图 181
11.9  预览窗体 182
11.10  在窗体编辑器中使用自定义的Bean 182
11.11  使用不同的布局管理器 183
第12章  多视图编辑器 185
12.1  介绍 185
12.2  入门 186
12.3  理解多视图编辑器 187
12.4  创建编辑器的基础构架.. 187
12.5  创建源视图 191
12.5.1  描述源MultiViewElement 191
12.5.2  创建源编辑器 192
12.5.3  在多视图编辑器中加入源视图 195
12.6  创建可视化视图 197
12.7  完成示例 199
第13章  语法高亮显示 201
13.1  介绍 201
13.2  准备创建语法高亮支持 202
13.3  创建Token ID 203
13.4  创建词法分析器 204
13.5  扩展选项窗口 207
13.6  扩展选项窗口 210
13.7  完成 212
第14章  完成代码 213
14.1  介绍 213
14.2  理解代码完成 215
14.3  代码完成提示类型 215
14.4  准备使用CompletionProvider接口 216
14.5  实现CompletionProvider 217
14.6  实现CompletionItem 219
14.7  为CompletionProvider添加过滤器 222
14.8  为“代码完成提示框”加入文档 225
14.9  为“代码完成提示框”加入工具提示 227
第15章  组件面板 229
15.1  介绍 229
15.1.1  理解组件面板 230
15.1.2  创建第一个组件面板 232
15.2  向组件面板中添加元素 234
15.2.1  为第一个组件面板添加元素 234
15.2.2  让用户向组件面板中添加元素 239
15.3  拖放组件元素 241
15.3.1  定义放置目标 242
15.3.2  定义拖拽图像 243
15.3.3  定义放置事件 245
15.3.4  定义拖拽动作 246
15.4  将支持特性添加到组件面板中 247
15.4.1  为面板添加操作 248
15.4.2  添加过滤器并刷新面板 250
15.4.3  添加属性改变侦听器 252
15.4.4  设置面板属性 253
15.4.5  提供组件面板管理器 255
15.5  为文本编辑器创建组件面板 256
15.5.1  将组件面板与文本编辑器关联 257
15.5.2  在文本编辑器的组件面板中添加元素 259
15.5.3  在文本编辑器中格式化被放置的元素 261
15.5.4  让用户在文本编辑器的组件面板中添加元素 262
第16章  超链接 265
16.1  介绍 265
16.1.1  准备提供超链接 265
16.1.2  HyperlinkProvider类 266
16.1.3  快速开始 266
16.2  使用HyperlinkProvider类的准备工作 266
16.3  manifest文件中的超链接 267
16.3.1  识别超链接 268
16.3.2  设置超链接的长度 269
16.3.3  打开引用的文档 270
16.3.4  完成 272
第17章  标注 273
17.1  介绍 273
17.2  准备创建错误标注 274
17.3  创建错误标注 274
17.3.1  理解错误标注DTD 275
17.3.2  注册错误标注 278
17.3.3  安装错误标注 279
17.4  准备使用错误标注 279
17.5  使用错误标注 280
17.5.1  描述标注 280
17.5.2  挂载和分离标注 281
17.5.3  定义请求处理任务 283
17.5.4  标注某行的一部分 284
17.6  完成 284
第18章  选项窗口 287
18.1  介绍 287
18.2  查看“选项”窗口扩展文件 290
18.2.1  AdvancedOption类 290
18.2.2  OptionsPanelController类 290
18.2.3  可视化选项面板 292
18.3  创建主面板 293
18.3.1  第一个主面板 293
18.3.2  重新排序选项面板 295
18.4  向“选项”窗口中添加设置 295
第19章  Web框架 299
19.1  介绍 299
19.1.1  支持Web框架的准备工作 300
19.1.2  WebFrameworkProvider类 300
19.1.3  快速开始 300
19.1.4  示例:简单注册 301
19.2  准备使用WebFrameworkProvider类 302
19.3  为框架提供配置面板 303
19.3.1  创建配置面板 304
19.3.2  示例:在WebFrameworkProvider实现中添加配置面板 306
19.3.3  编写配置面板 307
19.4  创建源代码结构 309
19.4.1  准备使用extend()方法 309
19.4.2  示例:定义extend()方法 309
19.4.3  创建模板 311
19.4.4  创建Java文件的模板 311
19.4.5  准备:利用模板在程序中创建Java文件 312
19.4.6  利用模板在程序中创建Java文件 313
19.4.7  尝试使用框架支持模块 315
19.5  让用户在“框架”面板中选择库 316
19.6  “项目属性”对话框和Web框架 318
19.7  完成 319
第20章  Web服务 321
20.1  介绍 321
20.2  创建和测试Web服务客户端 321
20.3  集成Web服务客户端 326
第21章  JavaHelp文档 331
21.1  创建帮助集 331
21.2  删除IDE的帮助集 334
21.3  标记帮助集的默认文字 337
第22章  更新中心 341
22.1  介绍 341
22.2  添加IDE的更新中心功能 342
22.3  创建和分发自动更新描述符 343
22.3.1  用IDE创建自动更新描述符 343
22.3.2  上传自动更新描述符和NBM文件 344
22.4  分发自动更新描述符的URL 345
22.4.1  生成一个注册自动更新描述符的模块 345
22.4.2  让用户手动注册自动更新描述符 345
22.5  从更新中心下载NBM文件 346
22.6  将更新发布到现有模块 347
第23章  用例1:跟Jens Trapp学习NetBeans模块开发 349
23.1  介绍 349
23.2  调用外部工具 350
23.2.1  创建Tidy错误检测操作 350
23.2.2  获取文件名 352
23.2.3  运行HTML Tidy 353
23.2.4  解决依赖 356
23.2.5  运行示例 356
23.3  处理输出 358
23.3.1  打印输出 359
23.3.2  侦听输出 361
23.3.3  解析输出 363
23.3.4  在“源代码编辑器”中标注错误 365
23.4  配置工具 371
23.4.1  扩展“选项”窗口 371
23.4.2  持久化选项 373
23.5  格式化和转换文件 375
23.5.1  操作文件 376
23.5.2  查看区别 382
23.6  控制转换 383
23.6.1  创建向导 383
23.6.2  连接向导 393
第24章  用例2:Rich Unger应用程序开发 395
24.1  介绍 395
24.2  开始 396
24.3  创建audio/wav的 MIME类型支持 398
24.4  在WavDataObject中封装音频数据 401
24.5  创建查看WAV文件的组件 404
24.6  将WAV编辑器转变为多视图编辑器 406
24.7  创建插入额外视图的API 412
24.8  实现API,提供新视图 415
附录A  高级模块系统开发技术 421
附录B  NetBeans中的常见习惯和
代码模式 435
附录C  性能... 441

 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/16566727/viewspace-481902/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-10-29

  • 博文量
    922
  • 访问量
    1523055