电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

转移到NetBeans平台的10个技巧


发布日期:2024/5/19
 

NetBeans可能是JSR项目的最大赢家它能帮助开发人员在他们的项目中采取下一步行动如果没有NetBeans他们可能不知道该怎么做如他们用JSR中的SingleFrameApplication类代替了JFrame因为使用它能更容易与JSR(我拒绝把它称为Swing应用程序框架SAF因为这个名字太自大了好像就没有其它Swing应用程序框架似的)接轨特别是在NetBeans IDE的帮助下许多开发人员都这样做了迅速地看到了他们的开发成果

但遗憾的是JSR已经停止开发了当你用最新的NetBeans IDE 创建这种应用程序时它会警告你JSR已经没有再继续开发了如下图所示


NetBeans 新建Swing应用程序时的警告信息

因此现在有更多的开发人员需要NetBeans平台因为只有它能为Swing应用程序提供最合理的下一步行动特别是当你的代码中大量采用了JSR规范时如你的代码中找不到JFrame你可能将重点放在你的业务领域而不是基础设施了因此你需要生命周期管理Action系统和Task你现在仍然需要它们而这些NetBeans平台都还为你保留着

我与一些正在向NetBeans平台转移的开发人员深入交谈后总结出转移到NetBeans平台的个实用的技巧如果你也有转向NetBeans的计划不妨先学习一下别人的经验

按CRUD教程办事

现在到处都有各种各样的教程可供下载阅读甚至有视频教程可以观看但我这里推荐的是Netbeans平台CRUD应用程序教程我最近遇到一位对NetBeans平台感到很困惑的开发人员当我向他推荐了这个教程学习后他问的问题也显着不同了这个教程涵盖了NetBeans平台的典型应用场景通过它你可以学到更多关于NetBeans平台API过程等一切需要了解的都应有尽有没有理由不看这个教程就开始NetBeans之旅

打印NetBeans平台的Refcard

面对NetBeans平台时一个很大的问题是作用域换句话说就是NetBeans平台到底能干些什么呢?你为什么要使用什么时候使用?这个时候看视频教程是最有帮助的了但你也应该打印最基本的NetBeans平台Refcard它涵盖的内容很全面甚至连最小的细节都不会放过在你的编程过程中可以给你很多代码提示和编码技巧

原型

快速实现一个原型这样你才知道你需要些什么任何事情都是想起来容易做起来难因此使用原型可以尽早知道实现目标的难度备份你的源代码在NetBeans IDE中创建一个新的NetBeans平台应用程序创建一个新的模块然后将你的代码粘贴到这个模块中接下来打包所有使用到的第三方开发库根据需要设置依赖创建一个TopComponent然后在你的新应用程序窗口中显示一些数据原型就搭建好了

将外部JAR转换成模块

开发人员经常问的一个头痛的问题是真的吗?我需要将我所有的库都打包成模块吗?为什么?有这种想法表示你想创建一个模块化应用程序你可以从模块化中受益如依赖管理版本控制和信息隐藏你甚至可以将多个JAR放在相同的模块中(在库打包成模块向导中按住CTRL点击或按住Shift点击)但是你需要思考将多个JAR放进同一个模块的缘由因为你的目标是要创建一个模块化应用程序因此只应该将那些应该放在同一模块的JAR组织在一起不要顾此失彼

思考一下模块化的边界

什么时候该创建一个新的NetBeans模块(或OSGi捆绑)?阅读如何将应用程序拆分成模块tosplitintomodules)文档很重要

注册Action类

自NetBeans 以来你通常不再需要NetBeans平台Action类的子类我应该使用哪一个NetBeans平台Action类netbeansplatformaction)文章中有详细的解释为什么那样做就好?因为现在你可以直接从原来的应用程序复制ActionListeners和AbstractActions然后粘贴到NetBeans模块即可你需要做的就是正确地注册它们然后就大功告成了这意味着你的Action类转移到菜单和工具条了从键盘快捷键调用它们就只是一个注册问题了而不再涉及到复杂的编码

爱上层

层是你最好的朋友一个就是一个XML文件每个模块最多有一个层应用程序启动时每一层都被添加到虚拟文件系统你可以在层上注册你喜欢的东西然后就可以从Java代码中读取这个层了听起来似乎很抽象但如果你看了可插拔的JXTaskPane示例(_jxtaskpane)后你就觉得很简单了这也是你转移应用程序最具魔力的地方了在层中创建一个文件夹(folder)命名为Products然后每个模块提供的新产品在Products下注册一个文件夹在你的代码中你可以遍历Products文件夹找出所有的产品然后在应用程序的窗口中显示它们服务提供者也可以在层上注册具体请参考NetBeans扩展点如何工作?extensionpoints)文章

保留JPanels

你的应用程序中使用JPanels了吗?如果你用了那么你应该感到很高兴因为你可以无用做任何修改继续使用它们创建一个新的TopComponent类然后调用add(myJPanel)即可就这么简单你也可以通过选项或向导窗口来完成例如你发现JPanel可以被用来配置什么(在选项或向导窗口)以及作为窗口中的一个编辑面板因此你可以在多个不同的地方重复使用它只需要在你工作的NetBeans平台容器中调用add(myJPanel)即可

参与社区

通过参与社区你一定会得到更多收获在邮件列表中你可以看到重要的内容各种各样的问题和响应的解答你了解得越多你越应该利用机会向别人分享你的经验你也可以参与某些社区应用程序的开发()为社区贡献一份力量

转移是一个过程

CTO认为转移是一个过程不是一时半会儿就能完成的可能需要发布几次产品的迭代因此需要有相应的计划例如当你转移到NetBeans平台后发布第一个版本时你可能只是简单地将JPanels转移到新平台的TopComponents在下一个版本中你可能想将你的业务对象打包成Node类以便它们可以显示在资源管理器视图中包括属性窗口等这些都应根据你自己的步伐进行调整根据要转移的规模你花在转移上的时间可能需要数周或数月这都很正常如果你没有那么多时间你应该考虑分步实施为每一个版本确定好要转移的功能没有什么规则可循只要根据你自己的需要安排就行了

这就是我总结的技巧读了这篇文章你有何感想呢?你还有其它建议吗?希望看到你的评论!

上一篇:Trusted Applet的制作和运行

下一篇:在ModalDialog中操作父窗口对象