当用户单击 JDialog 上的按钮时,我在将组件添加到 JDialog 时遇到问题。基本上我希望它看起来像这样:
然后,当用户单击“添加新字段”时,我希望它看起来像这样:
我似乎无法打开添加新 JLabel 或 JTextField 的对话框。有人能指出我正确的方向吗?
EDIT:这是“添加新字段”按钮的操作(现在只需尝试一个标签)。
@Action
public void addNewField()
{
Container contentPane = getContentPane();
JLabel label = new JLabel ("welkom");
contentPane.add(label, BorderLayout.CENTER);
}
SOLUTION:
我使用了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()
这样它就能准确地显示出我想要的位置。