Редактор графического интерфейса пользователя NetBeans, не может создать объект
Мне сложно объяснить это и еще сложнее на английском... У меня есть этот конструктор компонента
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
);
и я поместил этот код в конструктор фреймов в проекте JBrame NetBeans
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
);
}
он компилируется, однако подсказка Balloon не отображается.
Самое смешное, что когда я экспортировал проект в 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() {
1 ответ
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 Builder -> Properties), выберите No Resize Code для политики размера формы.