将组件动态添加到 JDialog
当用户单击 JDialog 上的按钮时,我在将 JComponents 添加到 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()