如何使用NetBeans在Java中修改/添加代码到initComponents()方法?

Ahm*_*rid 18 java swing netbeans matisse

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

Pet*_*Mmm 14

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

public class NewJFrame extends javax.swing.JFrame {

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

public void myInitComponents() {
}
Run Code Online (Sandbox Code Playgroud)


vkr*_*mer 11

在GUI编辑器中创建UI时,IDE将重新生成initComponents()方法.该方法被"防护"以防止这种再生覆盖用户编写的代码.

有两种方法可以间接地为此方法添加代码:

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

  2. 输入代码如下面的代码性能的一个组成部分:预创建代码,后创建代码,预初始化代码,后初始化代码,后监听器代码,预填充代码,后人口代码和售后服务,所有 - 设置代码.

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

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


小智 5

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

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

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

见下图:

代码插入

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