在NetBeans中,GUI Builder会从编辑器生成不受限制的代码。
我知道您可以切换到设计模式并指定自定义代码,然后以间接方式进入编辑,但是无法编辑光标中2行的文本会很痛苦。
我可以允许在这些地区内进行编辑......我保证会小心:)
感谢。
注意:我不想丢失代码生成
答案 0 :(得分:4)
如果您在记事本或写字板中打开.java文件,您会发现一对评论
// GEN-BEGIN: <name of section>
...
// GEN-END: <name of section>
删除这些评论,会发生两件事。
所以可以这样做,但不要这样做,除非你的意思是。
编辑:“注意:我不想丢失代码生成。”好的,我们来看看。
这听起来像是在祝自己麻烦。 :d
答案 1 :(得分:4)
如果在外部编辑器中打开它,有两种可能性:
无论哪种方式,可能不是你想要的。最好的办法可能是在gui编辑器中完成整个设计,当你对它感到满意时,删除评论并继续。
[讽刺] 使用拖放gui编辑器,您还可以手动更改什么? [/ sarcasm];)
答案 2 :(得分:2)
我遇到了同样的问题。我使用自己的面板类扩展了JPanel,但我无法将其与其他UI一起打包。首先,我在网上搜索,然后找到了你的问题。我无法找到这个问题的优雅解决方案。 因此,我决定创建另一个java类并将NetBeans创建的代码复制到其中。它就像一个魅力。 我同意,如果我们能修改像.NET这样的现有代码,那就太好了。
答案 3 :(得分:1)
我复制initcomponents()方法,创建我自己的方法newInitComponents()粘贴生成的代码,并覆盖在分发代码之前需要覆盖的内容。这样,当在编辑器中进行更改时,您仍然可以将代码粘贴到新方法中。您可以保留功能,而无需在必要时覆盖您。只需在构造函数中调用newInitComponents()而不是原始函数。这不是最有效的做事方式,但它可以做你想要的。
答案 4 :(得分:1)
您也可以尝试移动
中的.form
文件
(项目名称)\ src \(JFrame / JPanel的名称).form
NetBeans现在将其视为.java
文件
如果您没有编辑GUI编辑器所需的任何内容,则可以将.form
文件移回src
文件夹。
答案 5 :(得分:0)
您可以继承该类并重新定义此代码所在的方法吗?当然,当您对GUI进行更改时,您将不得不随着时间的推移维护该方法。
您也可以查看AspectJ。它将在构建时修改字节代码并进行您定义的更改。不确定这是否足以让您控制要更改的代码。
答案 6 :(得分:0)
如果使用APT,则可以在编译时重写源代码。这样您就可以覆盖当前的代码。您可以将新代码与注释一起保存在同一个Java文件中,以解释发生了什么。 This tutorial让你很容易上手。复制该代码,让它工作,然后根据自己的喜好调整它。要找出代码中的注释方法,请在声明中调用getPosition()。
答案 7 :(得分:0)
转到设计页面并选择任一字段。右键单击任何选定字段并选择Customizer Code,在Customizer Code中将所有默认代码更改为自定义创建。现在您可以根据需要编辑设计代码......
答案 8 :(得分:0)
非常简单......糟糕的UTF-8不让我编译一个JasperReport(GUI完成所有操作)。所以,我需要将Project更改为iso-8859-1。结果?该项目搞砸了,一些要纠正的事情是在代码的被阻止的部分。所以,我真的需要编辑那些自动生成的部件。当它们被重新生成时,它们会很好,因为该项目现在是iso-8859-1。
答案 9 :(得分:0)
步骤#1在NetBeans中关闭项目
步骤#2从项目的源目录中删除.form文件
重新打开该项目,现在可以编辑了!