在java中使用多个类绘制“小程序未初始化”

在java中使用多个类绘制“小程序未初始化”,java,initialization,jpanel,drawing,Java,Initialization,Jpanel,Drawing,我试图从java中的多个源绘制到单个面板。然而,当我尝试这个测试代码时,我发现applet没有初始化。记住,我对这方面还不太熟悉。我如何消除这个错误,或者从多个来源绘制到一个面板 import java.awt.Graphics; import javax.swing.JPanel; class Surface extends JPanel { public void init() { } public void paintComponent(Graphics g

我试图从java中的多个源绘制到单个面板。然而,当我尝试这个测试代码时,我发现applet没有初始化。记住,我对这方面还不太熟悉。我如何消除这个错误,或者从多个来源绘制到一个面板

import java.awt.Graphics;
import javax.swing.JPanel;

class Surface extends JPanel {

    public void init() {

    }

    public void paintComponent(Graphics g){
        super.paintComponent(g);
        DrawRect d = new DrawRect(this);
        d.draw( g );

    }

}

class DrawRect {

    Surface surface;
    Graphics g;

    public DrawRect(Surface surface)
    {
        g = surface.getGraphics();
    }

    public void draw( Graphics g )
    {
        g.fillRect(20,20,100,50); // (now this will work).
    }

} 

代码中的注释说“现在这将起作用”…到底什么不起作用?建议:不要调用getGraphics-使用传递给paintComponent的图形对象进行绘图。