У меня возникли проблемы с добавлением JComponents в JDialog, когда пользователь нажимает кнопку на JDialog. В основном я хочу, чтобы это выглядело так:
Затем, когда пользователь нажимает "Добавить новое поле", я хочу, чтобы он выглядел следующим образом:
Кажется, я не могу получить диалог, чтобы добавить новый JLabel или JTextField. Может ли кто-нибудь указать мне в правильном направлении?
EDIT. Это действие для кнопки "Добавить новое поле" (просто попробуйте ярлык сейчас).
@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();
}
Еще одна из моих проблем заключается в том, что я использую макет "Free Design" в NetBeans, а это значит, что мой ярлык, вероятно, был в какой-то странной позиции, а не был в рамках моего диалога (просто догадка). Я решил эту проблему с label.setBounds()
, чтобы она точно показывала, где я ее хотел.