两个panel加入到一个frame里,对其中一个panel做鼠标响应,用于刷新此panel,对于panel的重画用的是构造函数的重载,为什么new的新的panel上的组件无法显示?
程序如下:package swing;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Swing2 {
public static Panel3 p;
public static JFrame frame;
public static void main(String[] args)
{
frame=new JFrame();
frame.setVisible(true);
frame.setSize(400,200);

frame.add(new Panel2());
p=new Panel3(2);
frame.add(p);

JButton button1=new JButton();

p.button.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e){
frame.remove(p);
p=new Panel3(1);


p.repaint();
frame.add(p);
frame.repaint();
}
});





frame.setLayout(null);

}
}class Panel2 extends JPanel{
Panel2(){

setBounds(200,0,200,200);
setBackground(Color.blue);
}
}
class Panel3 extends JPanel{
public static JButton button;
Panel3(int n){
setBounds(0,0,200,200);
button=new JButton();
add(button);
if (n==1)
{
setBackground(Color.green);
}else
{
setBackground(Color.yellow);
}
}

}