1.为什么在程序执行过程中往JPanel中添加的控件显示不出来,repaint也不行;
2.怎么清除面板中已经存在的所有内容(控件/图形等),不要通过设置控件不可见来实现;

解决方案 »

  1.   

    对于第二个我想用removeall,可以解决;但是第一个还是不行,请大家帮忙看看:import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    public class t
    {
        public static void main(String[] args)
        {
         JFrame.setDefaultLookAndFeelDecorated(true);
    frame f = new frame();
        }
    }class frame extends JFrame
    {
    JButton b1;
    JPanel m;
    Container c;
    public frame(){
    super("V");
    setBounds(100,100,500,500);
    c=getContentPane();
    m=new JPanel();
    m.setLayout(null);
    b1=new JButton();
    b1.setSize(30,20);
    hds hd =new hds();
    b1.addActionListener(hd);
    m.add(b1);
    c.add(m);
    show();
    }
    private class hds implements ActionListener
    {
    public void actionPerformed(ActionEvent ee)
    {
    if(ee.getSource()==b1)
    {
    String list[]={"111","222","333","444","555","666","777"};
    JList keys=new JList(list);
        keys.setVisibleRowCount(5);
        JScrollPane sp=new JScrollPane(keys);
        sp.setSize(100,80);
        sp.setLocation(100,80);
    m.add(sp);
    m.repaint();
    sp.repaint();
    keys.repaint();
    }
    }

    }

    }