import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class frm extends JFrame
{

JPanel p = new JPanel(); 
JButton b1 = new JButton("Add");
frm()
{
Container con =getContentPane();
con.add(p);
p.add(b1);
b1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
p.add(new JButton("ff"));
}
} );
}

}class Demo 
{
public static void main(String[] args) 
{
frm f = new frm();
f.setSize(300,300);
f.setVisible(true);
}
}希望通过实现 点击 add按钮 在面板上生成一个新的按钮或别的组件 这个功能可以实现么?

解决方案 »

  1.   

    可以的,添加完了之后更新界面就能显示出来了:b1.addActionListener(new ActionListener() 

    public void actionPerformed(ActionEvent e) 

    p.add(new JButton("ff")); 
    p.revalidate();//加上这两行
    p.repaint();

    } ); 
      

  2.   

    validate();在构造函数里这么写 就可以了这个函数的作用是什么啊?
      

  3.   

    动态添加和删除本身不难,就是add 和remove,难的是布局
    一定要写layout,不然你的界面会很难控制----------------------
    http://topic.csdn.net/u/20080429/18/2ef7e7f7-7a00-4838-b4a7-ed8104b756ed.html