当用户单击JDialog上的按钮时,我无法将JComponents添加到JDialog.基本上我希望它看起来像这样:

然后,当用户点击"添加新字段"时,我希望它看起来像这样:

我似乎无法获得添加新JLabel或JTextField的对话框.谁能指出我正确的方向?
编辑:这是"添加新字段"按钮的操作(现在只是尝试标签).
@Action
public void addNewField()
{
Container contentPane = getContentPane();
JLabel label = new JLabel ("welkom");
contentPane.add(label, BorderLayout.CENTER);
}
Run Code Online (Sandbox Code Playgroud)
解决方案:
我使用了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();
}
Run Code Online (Sandbox Code Playgroud)
我的另一个问题是我在NetBeans中使用"自由设计"布局,这意味着我的标签可能处于一些奇怪的位置而不是在我的对话框中(只是一个猜测).我解决了这个问题,label.setBounds()以便它显示我想要的确切位置.
对于学校项目,我需要制作一个简单的绘画应用程序,可以绘制线条,椭圆和矩形.
赋值指定我需要每种类型的形状的工具栏按钮和菜单项.
通过制作JToggleButtons工具栏和菜单项中的按钮,我想稍微超越一点JRadioButtonMenuItems.此外,我想要它,以便当您选择其中一个工具栏按钮时,它取消选择其他按钮,选择适当的菜单项,并取消选择其他菜单项.同样用于选择其中一个菜单项.
我知道我可以组的任何AbstractButton一个ButtonGroup,但我不知道这是正确的道路要走,是因为虽然它处理一个按钮的"组"就好了,我不知道它可以处理两个并行组.
如果没有ButtonGroup意味着在6个事件监听器中的每一个中,我将不得不手动取消选择其他按钮,并且每对将调用相同的代码来设置形状类型.
我也可以制作两个ButtonGroup,一个用于菜单,一个用于工具栏,但是我还必须复制形状类型设置代码.
在任何一种情况下,我都冒着菜单设置按钮的风险,该按钮设置了一个设置按钮的菜单项,ad adintum.
解决这个问题的最佳方法是什么?
(能够通过Netbeans GUI设计器解决问题的好处;它更容易)