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



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

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项目中的框架构造函数中

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
    );
}

它正在编译,但是气球提示没有显示。

有趣的是,当 Ive 将项目导出到 eclipse(我可以在其中编辑 initComponent() 函数)并将这个组件构造函数保留在 initComponent() 函数中时,它就可以工作了。所以相同的代码在 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().在"JFrame的代码属性"(右键单击 GUI 生成器上的框架 -> 属性)上,为"窗体大小策略"选择"无大小调整代码"。

相关内容

  • 没有找到相关文章

最新更新