我使用JFrame Class
创建了Netbeans 7.3
,并在调色板中添加了两个面板。
我在第一个面板中添加了一个按钮,我想在第二个面板(topoPane)中添加一个新按钮。
下面是我为此编写的按钮点击事件。但是,即使事件被调用,该按钮也不会被添加到面板中。 请告诉我它有什么问题。
private void jButton1MouseClicked(java.awt.event.MouseEvent evt)
{
// TODO add your handling code here:
System.out.println("Creating the Button");
JButton but = new JButton();
but.setBackground(Color.red);
but.setText("New Button");
but.setBounds(500, 500, 500, 500);
topoPane.add(but);
topoPane.revalidate();
}
答案 0 :(得分:1)
通过使用setBounds
,很明显您使用null
布局。因此,您需要调用repaint()
作为没有布局的容器,不会自动重新绘制revalidate
上添加的组件。
除了调用repaint
是一个好习惯之外,布局管理器可以删除进行此调用的需要,同时管理组件的大小调整和定位。这样就可以使用layout manager。