Netbeans 7.1放弃了对Swing应用程序框架的支持?如何将7.0迁移到7.1



上周,我非常沮丧,我有三个大型应用程序正在生产中,还有更多的应用程序正在使用Swing应用程序框架。后来,当我开始迁移到Netbeans 7.1时,BOOM!,不再支持SAF。

那么我该怎么办,有什么想法可以迁移到Netbeans 7.1吗?

我会感谢你的帮助。

PS:Netbeans团队,请不要在没有警告的情况下添加仅仅是Java规范请求-JSR的框架。当我开始使用SAF时,它看起来永远不会停止使用。

PS2:为了让我们听到我们正在使用SAF,请在https://netbeans.org/bugzilla/show_bug.cgi?id=204661

我发现SAF是新NetBeans的插件:http://plugins.netbeans.org/plugin/43853/swing-application-framework-support

我没有一个好的答案,但这可能会给其他人更多的想法(在这里包含信息比单独发布问题更有用)。。。

我还有一个SAF应用程序,我现在需要java 1.7,所以我已经切换到netbeans 7.1,并且不能在nb7.0中编辑表单。我在nb7.0之间切换以编辑屏幕,然后使用nb7.1进行编译和运行。

如果我在nb7.1中创建一个表单,它可以与我的应用程序配合使用,并且我已经查看了生成的代码和nb7.0和nb7.1为JPanel创建的.properties文件,它们看起来完全相同。

我还没有弄清楚如何将nb7.0生成的JPanel"转换"为可以使用nb7.1的JPanels,但我可以在7.1中创建一个空JPanel,然后运行7.0并将所有控件从7.0表单复制到7.1表单。图标会丢失——这是NetBeans的一个错误,代码也会丢失,这通常是一个代价高昂且容易出错的过程。

项目中可能有一些标志告诉JPanel是否为"SAF"。如果是这样的话,找到它将使迁移更加容易。

那个设法将SAF表单移植到Netbeans 7.2的人的指示让我开始了。它还可以移植到Netbeans7.3中。我建议从一个在Netbeans 6.9中创建的简单表单开始,然后在7.3中制作相同的表单,并比较生成的.java和.form代码。这将向您展示移植表单所需的所有差异。一旦您在中获得了一个简单的表单,请尝试进行同样的操作,添加您使用的组件类型示例,如选项卡式窗格、按钮、复选框等。再次进行文件比较,以便您可以查看每个组件类型的不同之处。SAF表单中的每个组件类型都包含某种文本属性资源抽象,链接到类的属性文件中的一行,您必须断开该链接,只需在Netbeans 7.3表单中输入一个实际值。如果您在表单中错过了一个与资源相关的参数,则在修复所有内容之前,您将收到相同的错误消息。我设法完成了一个极其复杂的框架的练习,花了我几天的时间来部分学习曲线。只有15多个框架做得最复杂,但没有我第一次做的主视图那么多。

我已经成功地在Netbeans 7.2中打开了SAF表单。在使用了论坛上的一些提示后:http://forums.netbeans.org/topic43775-0-asc-30.html:

  1. 删除表单代码中的注释// <editor-fold defaultstate="collapsed" desc="Generated Code"> around initComponents()
  2. 去掉所有@Action注释-改为使用componentObject.addActionListener()或类似的
  3. 去掉所有org.jsdesktop.application和。。。getActionMap()
  4. 从.form文件删除所有以<Property name="action" type="javax.swing.Action"开头的标记

我不能保证在你的情况下,它会让你的表单100%工作,但对我来说,它工作了——我的表单可以在Netbeans 7.2中打开。

如果Netbeans向您显示了一些错误或警告,请阅读这些消息并尝试找出问题所在——例如,可能您删除了太多。

相关内容

  • 没有找到相关文章

最新更新