NetBeans GUI 编辑器,无法构造对象

NetBeans GUI editor, can't construct the object

很难为我解释,用英语更难... 我有这个 component 构造函数

Balonik = new BalloonTip(textfield, new JLabel("Do not devide by 0!"),
            new RoundedBalloonStyle(5,5,Color.WHITE, Color.BLACK), 
            BalloonTip.Orientation.RIGHT_BELOW, 
            BalloonTip.AttachLocation.ALIGNED, 
            15, 
            15, 
            false
    );

我把这段代码放在 netbeans jFrame 项目的 frame 构造函数中

public oknoo() {

    initComponents();

    Balonik = new BalloonTip(textfield, new JLabel("Do not devide by 0!"),
            new RoundedBalloonStyle(5,5,Color.WHITE, Color.BLACK), 
            BalloonTip.Orientation.RIGHT_BELOW, 
            BalloonTip.AttachLocation.ALIGNED, 
            15, 
            15, 
            false
    );
}

它正在编译,但是 BalloonTip 没有显示。

有趣的是,当我将项目导出到 eclipse(我可以在其中编辑 initComponent() 函数),并在 initComponent() 函数中留下这个 component 构造函数时,它已经工作了。 所以相同的代码在 initComponent() 函数中工作,而不在构造函数中工作....

我不明白。我问是因为我不能在 Eclipse 中解决这个问题并导出回 netBeans....因为这个...

/**
 * This method is called from within the constructor to initialize the form.
 * WARNING: Do NOT modify this code. The content of this method is always
 * regenerated by the Form Editor.
 */
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">                          
private void initComponents() {

BalloonTip 没有出现,因为它是在调用 pack() 之后创建的。 您将需要在 initComponents() 之后对构造函数调用 pack(), 不是那个方法。

public oknoo() {

    initComponents();

    Balonik = new BalloonTip(textfield, new JLabel("Do not devide by 0!"),
            new RoundedBalloonStyle(5,5,Color.WHITE, Color.BLACK), 
            BalloonTip.Orientation.RIGHT_BELOW, 
            BalloonTip.AttachLocation.ALIGNED, 
            15, 
            15, 
            false
    );

    pack();
}

但是 pack() 不应在 initComponents() 上调用。在 JFrameCode 属性上(右键单击 GUI 构建器上的框架 -> 属性),select No Resize Code 表单大小政策