21

如何initComponents()在 NetBeans 上的 Java 方法中修改/添加代码?当我尝试添加任何代码行时,该区域似乎是只读的,并且以灰色突出显示!这可能是为了安全,但我想有一种方法可以禁用它。

4

8 回答 8

16

是的,initComponents 方法是只读的,以保持对 IDE 的完全控制。您可以在 initComponents 之后将您的添加到构造函数中。

public class NewJFrame extends javax.swing.JFrame {

/** Creates new form NewJFrame */
public NewJFrame() {
    initComponents();
    myInitComponents();
}

public void myInitComponents() {
}
于 2010-03-13T12:38:27.670 回答
14

当您在 GUI 编辑器中创建 UI 时,IDE 会重新生成 initComponents() 方法。该方法被“保护”以防止这种重新生成覆盖用户编写的代码。

有几种方法可以间接向此方法添加代码:

  1. 将新组件拖放到窗口的设计编辑器“画布”上。

  2. 输入代码作为以下代码属性之一的一部分:创建前代码、创建后代码、初始化前代码、初始化后代码、侦听器后代码、填充前代码、填充后代码和毕竟- 设置代码。

    还有一些其他代码属性不会改变 initComponents() 方法......但可能非常有用:预声明代码和后声明代码。 alt text http://blogs.sun.com/vkraemer/resource/code-properties.png 注意:这些属性的编辑器不是“丰富的”,所以我建议在你刚刚调用的“常规编辑器”中创建方法在 initComponents() 中。

您可以通过定位或更改“基本面板”或控件的“常规”属性来修改 initComponents() 方法中的代码。

于 2010-03-13T17:35:36.807 回答
6

大概您正在做的是使用 Matisse GUI 工具编写应用程序。

Matisse 生成不可编辑的代码块。这是 Matisse 要求的,以便该工具与代码库保持同步。

Matisse 提供了许多选项来允许在代码块之前、之后或内部插入自定义代码,例如initComponents().

见下图:

代码插入

这显示了 jPanel 的属性选项卡和一些代码插入选项。

于 2010-03-13T12:44:11.317 回答
3

如果在 中的组件上单击Design View鼠标右键,然后点击“ Customize Code”选择,就可以修改代码中的InitComponent代码。可以自定义几行显式代码。

于 2015-10-20T19:35:58.517 回答
2

为了允许在源代码和 Matisse GUI 编辑器中进行更改,NetBeans 禁止在它所谓的“受保护块”中进行编辑。虽然您可以想象 IDE 能够解释您编写的几乎任何类型的 GUI 代码,但在实践中,IDE 开发人员更容易将自动生成的 GUI 代码封装在单个方法 (initComponents()) 中,而将其余部分留在供您编辑。

如果您确定自己知道自己在做什么,则可以从外部编辑器轻松编辑 .java 文件,但是:

  1. 确保将当前版本保存在某处
  2. 完成后,通过在 NetBeans 可视化编辑器中打开类来检查您的更改是否会破坏某些内容
于 2010-03-13T12:38:53.683 回答
1

我通过反复试验发现,在用户看到面板之前需要完成的初始化应该添加为“预初始化代码”。就我而言,我需要填充一个下拉框(在 AWT 中称为“Choice”)。关于使用 Matisse 的详细文档似乎很少。所以,我希望这对其他人有帮助。

于 2011-10-25T12:39:19.540 回答
0

选择所有代码并复制到外部编辑器(如 gedit 或记事本)中。

然后删除你的 jframe 文件。

在同一个包的netbeans中新建一个同名的java类。

复制编辑器文件中的所有内容并将其粘贴到新创建的 java 类中。

于 2016-06-09T09:24:42.083 回答
0
  1. 关闭 Netbeans
  2. 转到您的表单文件所在的文件夹路径
  3. 备份扩展名为“.form”和“.java”的 2 个文件
  4. 在记事本编辑器中编辑扩展名为“.form”和“.java”的 2 个文件。例如,如果您的表单名称是“myForm”,则文件夹中必须有文件“myForm.form”和“myForm.java”。
  5. 第一个文件“.form”是xml文件,第二个“.java”是代码java文件
  6. 仔细编辑两个文件中的代码保存更改并打开 NETBEANS。就是这样!
于 2017-04-11T21:21:01.553 回答