private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
//removing existing panels
Panel6.setLayout(null);
JLabel label1=new JLabel("This is panel 4");
label1.setBackground(Color.WHITE);
jPanel6.add(label1);
label1.setText("this is panel 4");
System.out.println("here i am");
jPanel6.revalidate();
jPanel6.repaint();
}
panel6已经在设计中创建,但在运行时按钮没有动态添加到面板中
答案 0 :(得分:0)
设置jPanel6.setLayout(null)
后添加组件会将它们放在另一个上面。 (我认为JPanel6是一个错字)
创建jPanel6
时,为其分配布局管理器。例如:
jPanel6.setLayout(new FlowLayout());
并更改jButton1ActionPerformed
:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
JLabel label1=new JLabel("This is panel 4");
label1.setBackground(Color.WHITE);
jPanel6.add(label1);
revalidate(); //remove setSize to parent, if any
}
有关布局管理器的详细信息,请参阅A Visual Guide to Layout Managers。
答案 1 :(得分:-3)
如果您使用绝对布局将width
添加到height
,则必须手动定义标签的jLabel
和panel6
。
label1.setWidth(100);
label1.setHeight(30);