上周,我非常沮丧,我有三个大型应用程序正在制作中,还有更多使用Swing Application Framework。后来,当我开始迁移到Netbeans 7.1,BOOM!时,不再支持SAF。
那么我该怎么做,有关如何迁移到Netbeans 7.1的任何想法?
感谢您的帮助。
PS:Netbeans团队,请不要在没有警告的情况下添加框架,这只是Java规范请求 - JSR。当我开始使用SAF时,它似乎永远不会停止。PS2:为了让我们听到我们正在使用SAF,请在https://netbeans.org/bugzilla/show_bug.cgi?id=204661
投票答案 0 :(得分:4)
我发现SAF是新NetBeans的插件: http://plugins.netbeans.org/plugin/43853/swing-application-framework-support
答案 1 :(得分:2)
我没有一个好的答案,但这可能会给其他人更多的想法(在这里包含信息比发布一个单独的问题更有用)...
我还有一个SAF应用程序,我现在需要java 1.7,因此已切换到netbeans 7.1,并且无法编辑nb7.0中的表单。我在nb7.0之间切换到编辑屏幕,然后用nb7.1编译并运行。
如果我在nb7.1中创建一个表单,它可以正常使用我的应用程序,我已经查看了生成的代码和.properties文件nb7.0和nb7.1为JPanel创建,他们看起来很相似。
我还没想出如何将nb7.0生成的JPanel转换为与nb7.1一起使用的JPanel,但我可以在7.1中创建一个空的JPanel,然后运行7.0并从中复制所有控件7.0表格到7.1表格。图标迷失 - 一个NetBeans错误,代码丢失,通常是一个代价高昂且容易出错的过程。
项目中某处可能有一些标志告诉JPanel是否为“SAF”。如果是这样,找到它会使迁移变得更容易。
答案 2 :(得分:1)
我已成功在Netbeans 7.2中打开SAF表单。在使用论坛的一些提示后:http://forums.netbeans.org/topic43775-0-asc-30.html:
// <editor-fold defaultstate="collapsed" desc="Generated Code">
arround initComponents()@Action
注释 - 而不是使用 componentObject .addActionListener()或类似的<Property name="action" type="javax.swing.Action"
开头的标记。我不保证在您的情况下它会使您的表单100%工作,但对我来说它有效 - 我的表单可以在Netbeans 7.2中打开。
如果Netbeans向您显示一些错误或警告,请阅读这些消息并尝试找出错误的内容 - 例如,您可能删除了太多错误。
答案 3 :(得分:1)
设法将SAF表格移植到Netbeans 7.2的人的指示让我开始了。移植到Netbeans 7.3还有更多内容。我建议从一个简单的表单开始,在Netbeans 6.9中创建它,然后在7.3中创建相同的表单,并比较生成的.java和.form代码。这将向您展示移植表单所需的所有差异。一旦你得到一个简单的表单,尝试在你使用的组件类型的例子中添加相同的标签窗格,按钮,复选框等。再一次做一个文件比较,这样你就可以看到每个组件类型是如何不同的。 SAF表单中的每个组件类型都包含某种文本属性资源抽象,这些抽象链接到类的属性文件中的一行,您必须断开该链接并在Netbeans 7.3表单中放置一个实际值。如果您错过了表单中与资源相关的单个参数,那么在修复所有内容之前,您将收到相同的错误消息。我设法通过这个练习进行了一个非常复杂的框架,我花了几天时间学习曲线。只有15个帧可以做得最复杂但不如我先做的主视图那么多。