如何在netbeans中更改不可编辑/生成的代码

我想更改Netbeans中的不可编辑代码,
我想替换
带有ObservingTextField的javax.swing.JTextFeild
为了实现日期选择器,我将一个类导入到我的项目中
但Netbeans不允许我编辑代码。 请帮忙

// Variables declaration - do not modify private javax.swing.JButton jButton1; private javax.swing.JButton jButton2; private javax.swing.JButton jButton3; private javax.swing.JPanel jPanel1; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JTable jTable1; `private javax.swing.JTextField jTextField1; private javax.swing.JTextField jTextField2;` // End of variables declaration 

如果要将自定义组件添加到使用Netbeans GUI编辑器(称为:Matisse)的文件中,有以下几种方法:

第一:

您可以将该组件添加到“Palette”管理器中。 我个人在这方面取得了有限的成功,特别是在我自己的自定义库中添加组件时。 但是,您可以添加组件并只选择“从项目中”,然后选择您的项目,您应该看到列出了您的组件(如果没有,请运行清理和构建)。

请注意,在这个项目中我有两个文件, CustomTextFieldNewJFrame

在此处输入图像描述

CustomTextField的代码只是扩展JTextField

 package test4; import javax.swing.JTextField; public class CustomTextField extends JTextField { } 

然后,在Palette窗口中,右键单击并单击“Palette Manager …”

在此处输入图像描述

然后在Palette Manager中,单击“从项目添加…”(如果要从库中添加,则单击“从库中添加…”等。

在此处输入图像描述

然后我选择CustomTextField

在此处输入图像描述

在那里繁荣,它在Palette Manager中,我可以将它拖放到我的GUI中。

在此处输入图像描述

注意:如果您需要跨多个项目使用此组件,这种方式并不是很好 调色板管理器是整个Netbeans的,所以如果你尝试使用另一个项目中存在的组件,你就会遇到麻烦。

注意#2:我遇到了Java Web Start和我自己的自定义库的问题。 7u25发布了一个错误,只要我的自定义库被加载就会导致来自JNLPClassLoader的NPE ,所以我不得不从Project而不是Library导入组件。

第二:

有一种更为hackish的做事方式,但有时是必要的:在GUI编辑器中,您可以右键单击该组件并单击“自定义代码”。 在此处输入图像描述 然后,您可以更改变量定义( 而不是声明 )。 如果你需要更改变量声明 ,那么它会变得更加hackish,我建议你只需手动编写代码。 但是,要通过此窗口执行此操作,您可以通过在private javax.swing.JTextField jTextField1;周围添加/**/来“注释掉”“变量声明代码”中的部分private javax.swing.JTextField jTextField1; 并添加自己的变量声明。

第三:

你的另一个选择是手写。 :)如果您需要可以添加到调色板的简单Swing组件或组件,我建议使用GUI编辑器。 如果您需要更复杂和自定义的Swing组件,那么您将需要开始编写此代码。 大多数人会建议你这样做。 然而,我自豪地喜欢Netbeans的GUI编辑器。

另一个选项删除特殊注释。 您无法在NetBeans中看到,但如果您在其他文本编辑器(例如记事本)中打开,您将看到关于非可编辑部分的开头和结尾的注释。 评论看起来像这样:

 //GEN-BEGIN:initComponents //GEN-END:initComponents 

这取决于为什么netbeans阻止您编辑该源文件。

  1. 它是您刚刚导入项目的某个库的一部分。 这意味着您的项目实际上正在使用已编译的类/ jar文件。 编辑此文件没有意义。 找到该库的作者并提交更改请求。 这也适用于java API本身。 当然,他们实际接受变更请求的可能性很小。

  2. 它没有特殊原因在磁盘上写保护。 =>让它可写

  3. 它由某个版本控制系统控制,该系统在将文件检出系统之前阻止编辑。 好吧看看吧。

  4. 它是由netbeans生成的一些文件(根据您发布的源代码判断,实际情况可能如此)。 在这种情况下,您可能可以在另一个编辑器(notepad / vi)中编辑它,但您的更改可能会在下一代代码生成时被覆盖,或者在您使用的任何工具中中断文件。 =>找到该工具以及如何使用该工具适当地应用更改。

Net beans允许您从表单视图页面使用自定义代码。 我现在不在带有网络bean的计算机上,但是如果你右键单击文本区域并且它靠近底部

当您在netbeans中打开表单文件时,这指向表单文件的java文件inteast。

编辑此不可编辑文件的解决方案是:

  1. 打开Netbeans并转到>工具>选项>杂项
  2. 文件创建新的文件扩展名>表单>并在关联文件mime中选择:HTML文件

我使用一个简单的解决方法来编辑文件。 首先,我将整个代码复制到记事本中,然后删除该类。 然后我创建一个Java类并粘贴代码。 请记住,您现在不会获得GUI构建器。 所以保持在mi