我使用netbeans GUI builder创建了GUI。我想在按下JButton
之后添加一个对象(让我们尝试使用按钮)我在ActionListener中编写的非常简单的代码并且有效:
button1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
panel2.add(new JButton("X"));
panel2.validate();
}
});
在netbeans创建的Gui中,这不起作用:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
jPanel1.add(new JButton("X"));
jPanel1.validate();
System.out.print("aa");
}
但它会打印“aa”,因此动作侦听器可以正常工作。
看起来像这里显示的类似问题: http://bytes.com/topic/java/answers/857720-adding-icon-jpanel
但我甚至看不到JosAH写的那个矩形。
我会感激任何建议。
答案 0 :(得分:0)
在编辑器中创建占位符面板,然后将面板添加到该面板。我认为问题与布局等有关,因为一些布局需要在添加组件时存在一些布局数据(即,设置了添加(c,...)中的第二个字段)。因此,使用GUI创建工具创建一个占位符JPanel,为其命名,以便对其进行引用,然后将该组件添加到该面板。给它一个像FlowLayout这样的布局,它不需要布局数据。您可能还想删除面板上的所有插图,这样就不会出现大量间距,您可以在UI编辑器中进行操作。