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()
上调用。在 JFrame
的 Code 属性上(右键单击 GUI 构建器上的框架 -> 属性),select No Resize Code 表单大小政策。
很难为我解释,用英语更难... 我有这个 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()
上调用。在 JFrame
的 Code 属性上(右键单击 GUI 构建器上的框架 -> 属性),select No Resize Code 表单大小政策。