我创建了一个相当大的 Java GUI 应用程序,其中包含许多表单窗口,其中的设置被锁定在 .form 文件中。我想知道是否有任何方法可以将这些 .form 文件转换或重构为我可以修改的真实 Java 源代码?
GUI 是使用 Netbeans 6.5 创建的。
我创建了一个相当大的 Java GUI 应用程序,其中包含许多表单窗口,其中的设置被锁定在 .form 文件中。我想知道是否有任何方法可以将这些 .form 文件转换或重构为我可以修改的真实 Java 源代码?
GUI 是使用 Netbeans 6.5 创建的。
我的理解是“.form”文件仅由 Netbeans GUI 构建器用于跟踪 GUI 组件的位置。当您在设计视图中添加组件时,Netbeans 会自动更新实际的源 (.java) 文件。实际上,您可以直接修改这些 .java 文件,例如更改按钮上的标签,但如果您在 Netbeans 中执行此操作,它将使用 .form 文件自动重新生成源文件,从而破坏您的手动更改。
根据我的经验,一旦您决定手动修改 .java 文件,.form 文件就会变得不同步,您将无法再正确使用 Netbeans GUI 构建器。
kazanaki 是对的,生成的 java 文件可以修改,但生成的 .java 文件是出了名的混乱、庞大且难以解释。此外,如果不渲染 matisse 无用,您无法更改某些内容(如生成的 .java 文件中的注释中所述),因为它希望文件以某种方式包含内容。话虽这么说,如果您小心不要踩到马蒂斯的脚趾,您可以编写代码并且它不会触及您的代码,这很好。
Outlaw 也是对的,如果你改变任何已经在马蒂斯看来的东西,它就会被覆盖。您在 matisse 之外所做的任何更改都必须在 matisse 用于生成代码的 xml 所涵盖的任何元素之外。
我以前尝试过这种事情,但成功有限,最终只是重写了界面以避免这些令人发狂的头痛。
我可以编辑源代码,我发现了解决方案。问题是我在 GUI 构建器中使用了“AbsoluteLayout”。Netbeans 在 .form 文件中创建了一些隐藏的 AbsoluteLayout 类。如果我删除了 .form 文件,项目将不再构建。解决方案是将表单更改为“FreeForm”布局,然后我可以删除 .form 文件并删除 GUI 构建器注释。
谢谢你们的帮助,我给你们两个+1。