如何在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”管理器中。 我个人在这方面取得了有限的成功,特别是在我自己的自定义库中添加组件时。 但是,您可以添加组件并只选择“从项目中”,然后选择您的项目,您应该看到列出了您的组件(如果没有,请运行清理和构建)。
请注意,在这个项目中我有两个文件, CustomTextField
和NewJFrame
。
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阻止您编辑该源文件。
-
它是您刚刚导入项目的某个库的一部分。 这意味着您的项目实际上正在使用已编译的类/ jar文件。 编辑此文件没有意义。 找到该库的作者并提交更改请求。 这也适用于java API本身。 当然,他们实际接受变更请求的可能性很小。
-
它没有特殊原因在磁盘上写保护。 =>让它可写
-
它由某个版本控制系统控制,该系统在将文件检出系统之前阻止编辑。 好吧看看吧。
-
它是由netbeans生成的一些文件(根据您发布的源代码判断,实际情况可能如此)。 在这种情况下,您可能可以在另一个编辑器(notepad / vi)中编辑它,但您的更改可能会在下一代代码生成时被覆盖,或者在您使用的任何工具中中断文件。 =>找到该工具以及如何使用该工具适当地应用更改。
Net beans允许您从表单视图页面使用自定义代码。 我现在不在带有网络bean的计算机上,但是如果你右键单击文本区域并且它靠近底部
当您在netbeans中打开表单文件时,这指向表单文件的java文件inteast。
编辑此不可编辑文件的解决方案是:
- 打开Netbeans并转到>工具>选项>杂项
- 文件创建新的文件扩展名>表单>并在关联文件mime中选择:HTML文件
我使用一个简单的解决方法来编辑文件。 首先,我将整个代码复制到记事本中,然后删除该类。 然后我创建一个Java类并粘贴代码。 请记住,您现在不会获得GUI构建器。 所以保持在mi