gpt4 book ai didi

java - Netbeans 在 TopComponent 中重新生成损坏的代码。我该如何解决?

转载 作者:行者123 更新时间:2023-12-01 13:16:04 24 4
gpt4 key购买 nike

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

我有一个 JTextBox,正在对其应用自定义文档过滤器。为了添加此内容,我右键单击该控件,进入“自定义代码”,并在所有内容下方添加了这一行:

 ((javax.swing.text.AbstractDocument)jtfTextField.getDocument()).setDocumentFilter(new mylibrary.NumericDocumentFilter());

现在,这是一个复制粘贴工作(因为我在其他地方使用过它)。我想要设置过滤器的字段称为 TextField。一不小心就点了确定,编译了,就炸了。呃,我看到了我的错误。我修复它,重新编译,但仍然出现错误。现在我的代码有这样的:

 ((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>

也许删除它可以解决问题,但我不确定,并且真的不想冒毁掉这个项目的风险。

最佳答案

  1. 尝试清理并重建您的项目(默认情况下为 Shift + F11)。如果这不会重新生成表单并且错误仍然存​​在:
  2. 编辑表单:将上述标记的 value 属性中的代码替换为您的代码。

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

关于java - Netbeans 在 TopComponent 中重新生成损坏的代码。我该如何解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22461596/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com