很难为我解释,甚至更难用英语解释...... 我有这个组件构造函数
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()函数中保留此组件构造函数时,它已经起作用。 所以相同的代码在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() {
答案 0 :(得分:0)
BalloonTip
未显示,因为它是在pack()
被调用后创建的。
您需要在pack()
之后在构造函数上调用initComponents()
,
不是那种方法。
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构建器上的框架 - &gt;属性),为表单大小政策选择无调整代码 强>