Java Netbeans在TopComponent中重新生成损坏的代码。我该如何解决这个问题?
我已经处理这个问题一个多星期了,现在它开始妨碍我的工作效率 我有一个应用自定义文档过滤器的JTextBox。要添加这一点,我右键单击控件,进入自定义代码,并在所有内容下面添加了这一行:Java Netbeans在TopComponent中重新生成损坏的代码。我该如何解决这个问题?,java,netbeans,compiler-generated,Java,Netbeans,Compiler Generated,我已经处理这个问题一个多星期了,现在它开始妨碍我的工作效率 我有一个应用自定义文档过滤器的JTextBox。要添加这一点,我右键单击控件,进入自定义代码,并在所有内容下面添加了这一行: ((javax.swing.text.AbstractDocument)jtfTextField.getDocument()).setDocumentFilter(new mylibrary.NumericDocumentFilter()); 现在,这是一个复制粘贴作业(正如我在其他地方使用过的)。我想设置过
((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>
也许删除这个可以解决这个问题,但我不确定,我真的不想冒险破坏这个项目
value
属性中的代码至于错误本身,您应该只将生成的代码放在生成的部分中。始终可以在构造函数中的
initComponents()
方法之后执行post init。这避免了GUI编辑器中可能出现的错误,并为您简化了对代码的控制。看起来是选项2完成的。我一直认为使用“自定义代码”会使代码看起来更干净,因为它会封装所有的属性,但我认为现在我将坚持使用initCustomComponents()
函数。非常感谢。