我想更改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
在那里繁荣,它是在调色板管理器中,我可以拖动和放大把它放到我的GUI中.
注意:如果您需要跨多个项目使用此组件,这种方式并不是很好.调色板管理器用于整个Netbeans,因此如果您尝试使用另一个项目中存在的组件,您将遇到麻烦.
注意#2:我遇到了Java Web Start和我自己的自定义库的问题. There is a bug that was released with 7u25 that causes a NPE from the JNLPClassLoader每当加载我的自定义库时,我都必须从Project而不是Library导入组件.
第二:
有一种更糟糕的做事方式,但有时是必要的:在GUI编辑器中,您可以右键单击该组件并单击“自定义代码”.然后,您可以更改变量定义(not the declaration).如果你需要更改变量声明,那么它会变得更加hackish,我建议你只需手动编写代码.但是,要通过此窗口执行此操作,您可以通过在私有javax.swing.JTextField jTextField1周围添加/ *和* /来“注释掉”“变量声明代码”中的部分.并添加自己的变量声明.
第三:
你的另一个选择就是手写. :)如果您需要可以添加到调色板的简单Swing组件或组件,我建议使用GUI编辑器.如果您需要更复杂和自定义的Swing组件,那么您将需要开始编写此代码.大多数人会建议你这样做. I, however, proudly love Netbeans` GUI Editor.