繁体   English   中英

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

[英]How to change non-editable/generated code in 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 中看不到,但是如果您在其他文本编辑器(例如记事本)中打开,您将看到关于不可编辑部分的开头和结尾的注释。 评论看起来像这样:

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

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

第一的:

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

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

在此处输入图片说明

CustomTextField 的代码只是扩展JTextField东西:

package test4;

import javax.swing.JTextField;

public class CustomTextField extends JTextField {

}

然后,在调色板窗口中,右键单击并单击“调色板管理器...”

在此处输入图片说明

然后在调色板管理器中,单击“从项目添加...”(如果是从库添加,则单击“从库添加...”等。

在此处输入图片说明

然后我选择CustomTextField

在此处输入图片说明

它就在调色板管理器中,我可以将它拖放到我的 GUI 中。

在此处输入图片说明

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

注意#2:我在使用 Java Web Start 和我自己的自定义库时遇到了问题。 7u25 发布了一个错误,每当加载我的自定义库时,都会导致来自 JNLPClassLoader 的 NPE ,因此我必须从项目而不是库中导入组件。

第二:

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

第三:

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

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

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

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

  3. 它由一些版本控制系统控制,在将文件检出系统之前防止编辑。 看看吧。

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

Net bean 让您可以在表单视图页面中使用自定义代码。 我现在不在一台带有 net beans 的计算机上,但是如果您右键单击文本区域及其靠近底部的位置

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

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

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

我使用一个简单的解决方法来编辑文件。 首先,我将整个代码复制到记事本中,然后删除该类。 然后我创建一个 Java 类并将代码粘贴回去。 请记住,尽管您现在无法获得 GUI 生成器。 所以留在我

最简单的方法来完成它。

您可以使用您的文本编辑器而不是 netbeans 来简单地完成它。 但有几件事要提醒::::

1-注意netbeans 中的代码行。

2-关闭netbeans IDE。

3-然后打开要更改系统中其他文本编辑器的文件。


就我而言,我需要更改 Registration.java 文件,以便使用文本编辑器打开它


4- 找到您需要更改的代码行

5-更改代码

6-保存文件

通过这种方式你可以做到。 希望你能找到解决办法

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM