Panel jp1=new Panel();
Panel jp2=new Panel();
public void paint(Graphics g)
{
  g=jp1.getGraphics();
  g.drawString("第一个Panel",50,200);
  g=jp2.getGraphics();
  g.drawString("第二个Panel",50,220);
}
这样做没有反应,应该怎么写啊?

解决方案 »

  1.   

    jp1和jp2你都没让它显示出来,它只存在于内存中,怎么反应啊?
    你要将它们加到容器中才行。
      

  2.   

    哦,忘记说了,应该是这样的,Panel显示出来画的图没有显示出来,不知道是不是差什么东西?
    public void init() {
    // Put your code here
    setLayout(null);
    jp1=new Panel(); 
    jp2=new Panel();
    jp1.setSize(200,200);
    jp2.setSize(400,200);
    add(jp1);
    add(jp2); 
    jp1.setBackground(Color.black);
    jp1.setForeground(Color.white);
    jp2.setBackground(Color.green);
    jp2.setForeground(Color.white);

    }
    public void paint(Graphics g) 

      g=jp1.getGraphics(); 
      g.drawString("第一个Panel",50,200); 
      g=jp2.getGraphics(); 
      g.drawString("第二个Panel",50,220); 

      

  3.   

    public void paint(Graphics g)
    绘制容器。该方法将 paint 转发给任意一个此容器子组件的轻量级组件。如果重新实现此方法,那么应该调用 super.paint(g) 方法,从而可以正确地呈现轻量级组件