Java Netbeans在TopComponent中重新生成损坏的代码。我该如何解决这个问题?

Java Netbeans在TopComponent中重新生成损坏的代码。我该如何解决这个问题?,java,netbeans,compiler-generated,Java,Netbeans,Compiler Generated,我已经处理这个问题一个多星期了,现在它开始妨碍我的工作效率 我有一个应用自定义文档过滤器的JTextBox。要添加这一点,我右键单击控件,进入自定义代码,并在所有内容下面添加了这一行: ((javax.swing.text.AbstractDocument)jtfTextField.getDocument()).setDocumentFilter(new mylibrary.NumericDocumentFilter()); 现在,这是一个复制粘贴作业(正如我在其他地方使用过的)。我想设置过

我已经处理这个问题一个多星期了,现在它开始妨碍我的工作效率

我有一个应用自定义文档过滤器的JTextBox。要添加这一点,我右键单击控件,进入自定义代码,并在所有内容下面添加了这一行:

 ((javax.swing.text.AbstractDocument)jtfTextField.getDocument()).setDocumentFilter(new mylibrary.NumericDocumentFilter());
现在,这是一个复制粘贴作业(正如我在其他地方使用过的)。我想设置过滤器的字段名为
TextField
。不小心,我点击OK,编译,它爆炸了。嗯,我明白我的错误了。我修复了它,重新编译,仍然得到了错误。现在,我的代码有以下内容:

 ((javax.swing.text.AbstractDocument)TextField.getDocument()).setDocumentFilter(new mylibrary.NumericDocumentFilter());
 ((javax.swing.text.AbstractDocument)jtfTextField.getDocument()).setDocumentFilter(new mylibrary.NumericDocumentFilter());
当我进入自定义代码时,它只显示正确的(顶部)代码。我关闭Netbeans,用Notepad++编辑文件并删除有问题的行,然后启动Netbeans备份。现在它编译,我运行它,测试,然后当我返回时,代码用错误的行重新生成自己

我破坏了Netbeans的缓存,但什么也没做,所以我真的不知道如何修复它。有人要吗

Netbeans 7.3.1版

更新:我四处窥探了一下,在我的Topcomponent的*.form文件中找到了这个:

<AuxValues>
    <AuxValue name="JavaCodeGenerator_AddingCodePost" type="java.lang.String" value="((javax.swing.text.AbstractDocument)jtfTextField.getDocument()).setDocumentFilter(new mylibrary.NumericDocumentFilter());"/>
</AuxValues>

也许删除这个可以解决这个问题,但我不确定,我真的不想冒险破坏这个项目

  • 尝试清理和重建项目(默认情况下为Shift+F11)。如果此操作无法重新生成表单,并且错误仍然存在:
  • 编辑表单:用代码替换上面标记的
    value
    属性中的代码

  • 至于错误本身,您应该只将生成的代码放在生成的部分中。始终可以在构造函数中的
    initComponents()
    方法之后执行post init。这避免了GUI编辑器中可能出现的错误,并为您简化了对代码的控制。

    看起来是选项2完成的。我一直认为使用“自定义代码”会使代码看起来更干净,因为它会封装所有的属性,但我认为现在我将坚持使用initCustomComponents()函数。非常感谢。