欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入 NetBeans可能是JSR-296项目的最大赢家,它能帮助开发人员在他们的项目中采取下一步行动,如果没有NetBeans,他们可能不知道该怎么做,如他们用JSR-296中的SingleFrameApplication类代替了JFrame,因为
欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入
NetBeans可能是JSR-296项目的最大赢家,它能帮助开发人员在他们的项目中采取下一步行动,如果没有NetBeans,他们可能不知道该怎么做,如他们用JSR-296中的SingleFrameApplication类代替了JFrame,因为使用它能更容易与JSR-296(我拒绝把它称为Swing应用程序框架,SAF,因为这个名字太自大了,好像就没有其它Swing应用程序框架似的)接轨,特别是在NetBeans IDE的帮助下,许多开发人员都这样做了,迅速地看到了他们的开发成果。
但遗憾的是JSR-296已经停止开发了,当你用最新的NetBeans IDE 6.9创建这种应用程序时,它会警告你JSR-296已经没有再继续开发了,如下图所示。
图 1 NetBeans 6.9新建Swing应用程序时的警告信息
因此,现在有更多的开发人员需要NetBeans平台,因为只有它能为Swing应用程序提供最合理的下一步行动,特别是当你的代码中大量采用了JSR-296规范时,如你的代码中找不到JFrame,你可能将重点放在你的业务领域而不是基础设施了,因此你需要生命周期管理,Action系统和Task,你现在仍然需要它们,而这些NetBeans平台都还为你保留着。
我与一些正在向NetBeans平台转移的开发人员深入交谈后,总结出转移到NetBeans平台的10个实用的技巧,如果你也有转向NetBeans的计划,不妨先学习一下别人的经验。
1、按CRUD教程办事
现在到处都有各种各样的教程可供下载阅读,甚至有视频教程可以观看,但我这里推荐的是Netbeans平台CRUD应用程序教程,我最近遇到一位对NetBeans平台感到很困惑的开发人员,当我向他推荐了这个教程学习后,他问的问题也显著不同了,这个教程涵盖了NetBeans平台的典型应用场景,通过它你可以学到更多,关于NetBeans平台,API,过程等一切需要了解的都应有尽有。没有理由不看这个教程就开始NetBeans之旅。
2、打印NetBeans平台的Refcard
面对NetBeans平台时一个很大的问题是作用域,换句话说就是,NetBeans平台到底能干些什么呢?你为什么要使用,什么时候使用?这个时候看视频教程是最有帮助的了,但你也应该打印最基本的NetBeans平台Refcard,它涵盖的内容很全面,甚至连最小的细节都不会放过,在你的编程过程中可以给你很多代码提示和编码技巧。
3、原型
快速实现一个原型,这样你才知道你需要些什么,任何事情都是想起来容易做起来难,因此使用原型可以尽早知道实现目标的难度,备份你的源代码,在NetBeans IDE中创建一个新的NetBeans平台应用程序,创建一个新的模块,然后将你的代码粘贴到这个模块中,接下来打包所有使用到的第三方开发库,根据需要设置依赖,创建一个TopComponent,然后在你的新应用程序窗口中显示一些数据,原型就搭建好了。
4、将外部JAR转换成模块
开发人员经常问的一个头痛的问题是“真的吗?我需要将我所有的库都打包成模块吗?为什么?”,有这种想法表示你想创建一个模块化应用程序,你可以从模块化中受益,如依赖管理,版本控制和信息隐藏,你甚至可以将多个JAR放在相同的模块中(在“库打包成模块向导”中按住CTRL点击或按住Shift点击),但是你需要思考将多个JAR放进同一个模块的缘由,因为你的目标是要创建一个模块化应用程序,因此只应该将那些应该放在同一模块的JAR组织在一起,不要顾此失彼。
5、思考一下模块化的边界
什么时候该创建一个新的NetBeans模块(或OSGi捆绑)?阅读“如何将应用程序拆分成模块”(http://java.dzone.com/news/how-to-split-into-modules)文档很重要。
6、注册Action类
自NetBeans 6.7以来,你通常不再需要NetBeans平台Action类的子类,在“我应该使用哪一个NetBeans平台Action类”(http://netbeans.dzone.com/news/which-netbeans-platform-action)文章中有详细的解释,为什么那样做就好?因为现在你可以直接从原来的应用程序复制ActionListeners和AbstractActions,然后粘贴到NetBeans模块即可,你需要做的就是正确地注册它们,然后就大功告成了,这意味着你的Action类转移到菜单和工具条了,从键盘快捷键调用它们就只是一个注册问题了,而不再涉及到复杂的编码。
7、爱上层
层是你最好的朋友,一个“层”就是一个XML文件,每个模块最多有一个层,应用程序启动时每一层都被添加到虚拟文件系统,你可以在层上注册你喜欢的东西,然后就可以从Java代码中读取这个层了,听起来似乎很抽象,但如果你看了“可插拔的JXTaskPane”示例(http://blogs.sun.com/geertjan/entry/pluggable_jxtaskpane)后,你就觉得很简单了,这也是你转移应用程序最具魔力的地方了,在层中创建一个文件夹(folder),命名为“Products”,然后每个模块提供的新产品在“Products”下注册一个文件夹,在你的代码中,你可以遍历Products文件夹,找出所有的产品,然后在应用程序的窗口中显示它们。服务提供者也可以在层上注册,具体请参考“NetBeans扩展点如何工作?”(http://netbeans.dzone.com/news/netbeans-extension-points)文章。
8、保留JPanels
你的应用程序中使用JPanels了吗?如果你用了,那么你应该感到很高兴,因为你可以无用做任何修改继续使用它们,创建一个新的TopComponent类,然后调用add(myJPanel)即可,就这么简单,你也可以通过选项或向导窗口来完成,例如,你发现JPanel可以被用来配置什么(在选项或向导窗口),以及作为窗口中的一个编辑面板,因此你可以在多个不同的地方重复使用它,只需要在你工作的NetBeans平台容器中调用add(myJPanel)即可。
9、参与社区
通过参与社区你一定会得到更多收获,在dev@platform.netbeans.org邮件列表中你可以看到重要的内容,各种各样的问题和响应的解答,你了解得越多,你越应该利用机会向别人分享你的经验,你也可以参与某些社区应用程序的开发(http://platform.netbeans.org/screenshots.html),为社区贡献一份力量。
10、转移是一个过程
51CTO认为转移是一个过程,不是一时半会儿就能完成的,可能需要发布几次产品的迭代,因此需要有相应的计划,例如,当你转移到NetBeans平台后发布第一个版本时,你可能只是简单地将JPanels转移到新平台的TopComponents,在下一个版本中,你可能想将你的业务对象打包成Node类,以便它们可以显示在资源管理器视图中,包括属性窗口等,这些都应根据你自己的步伐进行调整。根据要转移的规模,你花在转移上的时间可能需要数周或数月,这都很正常,如果你没有那么多时间,你应该考虑分步实施,为每一个版本确定好要转移的功能,没有什么规则可循,只要根据你自己的需要安排就行了。
这就是我总结的技巧,读了这篇文章你有何感想呢?你还有其它建议吗?希望看到你的评论!
原文名:10 Tips for Porting to the NetBeans Platform
作者:Geertjan Wielenga

良久团购是一个全球供应链平台,在销售端,依靠打造私域流量,以团购的形式,将物美价廉的产品给到消费者。良久团购采用的是F2C+社群团购模式;良久团购拥有大量的合作经销商,而每个合作的经销商背后都建有百人成团的微信群,里面沉淀了庞大的消费客户群体,因此良久团购拥有一条庞大的消费管道,可以直接对接产品源头。

TG是一款跨平台的即时通信社交平台;TG是Telegram的简称,用户可以相互交换加密与自毁消息,发送照片、影片等所有类型文件,是专注于速度和安全性的消息传递应用程序,其客户端是自由及开放源代码软件,但服务器端是专有软件。

ig全称“Instagram”一款免费提供线上图片及视讯分享的社交平台,以一种快速、美妙和有趣的方式将用户随时抓拍下的图片彼此分享;它可以让用户用智慧型手机拍下相片后再将不同的滤镜效果添加到相片上,然后分享到社群网路服务、或是Instagram的服务器上。

汽水音乐是抖音旗下音乐平台。汽水音乐是一款面向热爱音乐潮流的年轻人的听歌平台;其整体风格接近字节在海外的音乐产品“Resso”,播放界面即为首页,汽水音乐采取上下滑的音乐切换模式,且会在播放界面中采用视频动态作为背景。

桃是爱奇艺平台的简称。爱奇艺旗下有一个智能电视APP“奇异果TV”,而奇异果的学名就是猕猴桃,网友们从奇异果-猕猴桃-桃的联想中将爱奇艺戏称为“桃”。“奇异果TV”(银河奇异果)是银河和爱奇艺联合打造的智能电视应用,由银河互联网电视公司播控和运营,集成了爱奇艺正版高清视频内容,包含院线大片、热播电视剧、火爆综艺、热血动漫等精彩内容。

百付宝是百度旗下的一款支付平台,是中国领先的在线支付应用和服务平台。百付宝提供卓越的网上支付和清算服务,为用户提供了在线充值、交易管理、在线支付、提现、账户提醒等丰富的功能,特有的双重密码设置和安全中心的实时监控功能更是给百付宝账户安全提供了双重保障。

快驴是一个进货平台。快驴是美团官方推出的一款专为商家们服务的进货平台,可为美团外卖商家提供财务对账、商品管理等服务;快驴可为商家提供的商品主要包括米面粮油、酒、餐具、纸巾、打印机等产品,供货商也很多,此外,美团也为商家提供餐盒等货物,且为商家提供相比市面价格更低的产品。

第三方直播平台有:1、淘宝直播,阿里巴巴旗下的消费类直播平台;2、抖音电商,抖音旗下电商平台,致力于成为用户发现并获得优价好物的平台;3、快手电商,快手科技旗下直播电商平台;4、京东直播,京东旗下直播平台,主推电商泛娱乐营销模式;5、虎牙直播,一个互动直播平台,为用户提供高清、流畅而丰富的互动式视频直播服务;6、斗鱼,一家弹幕式直播分享网站,为用户提供视频直播和赛事直播服务。


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Dreamweaver CS6
Visual web development tools

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

Dreamweaver Mac version
Visual web development tools
