У меня проблемы с добавлением JComponents в JDialog, когда пользователь нажимает кнопку на JDialog. В основном я хочу, чтобы это выглядело так:
Затем, когда пользователь нажимает «Добавить новое поле», я хочу, чтобы оно выглядело так:
Я не могу получить диалоговое окно для добавления нового JLabel или JTextField. Кто-нибудь может указать мне правильное направление?
РЕДАКТИРОВАТЬ : Это действие для кнопки «Добавить новое поле» (просто попробуйте метку).
@Action
public void addNewField()
{
Container contentPane = getContentPane();
JLabel label = new JLabel ("welkom");
contentPane.add(label, BorderLayout.CENTER);
}
РЕШЕНИЕ
Я использовал решение mre и заставил его работать. Вот моя последняя функция:
@Action
public void addNewField()
{
System.out.println("New Field...");
Container contentPane = getContentPane();
JLabel label = new JLabel ("welcome");
label.setBounds(10,10,100,10); //some random value that I know is in my dialog
contentPane.add(label);
contentPane.validate();
contentPane.repaint();
this.pack();
}
Еще одна из моих проблем заключается в том, что я использую макет «Свободный дизайн» в NetBeans, что означало, что мой ярлык, вероятно, находился в какой-то странной позиции, а не в границах моего диалога (только предположение). Я решил эту проблему с label.setBounds()
, чтобы она показала, где именно я хотел.