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

Cle*_*anX 10 java mysql swing 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   
Run Code Online (Sandbox Code Playgroud)

小智 20

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

//GEN-BEGIN:initComponents
//GEN-END:initComponents
Run Code Online (Sandbox Code Playgroud)


ryv*_*age 18

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

第一:

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

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

在此输入图像描述

CustomTextField的代码只是扩展了一个JTextField:

package test4;

import javax.swing.JTextField;

public class CustomTextField extends JTextField {

}
Run Code Online (Sandbox Code Playgroud)

然后,在Palette窗口中,右键单击并单击"Palette Manager ..."

在此输入图像描述

然后在Palette Manager中,单击"从项目添加..."(如果要从库中添加,则单击"从库中添加..."等.

在此输入图像描述

然后我选择 CustomTextField

在此输入图像描述

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

在此输入图像描述

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

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

第二:

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

第三:

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