this is the code:
import java.awt.*;
import java.applet.*;
public class anim1 extends Applet{
public void paint (Graphics g)
{
g.drawString("",400,300);
}
public static void main(String ad[])
{
anim1 a=new anim1();
Graphics g1;
a.paint(g1);
}
}
It says that g1 is not initialized. But how do I initialize an abstract class?
Well there are two issues here 1:
And you are getting the error that G1 is not initialized. That’s because the variable g1 is never set to anything, and that causes a compile error. To get the code to compile, you would need to, at the very least do this:
However, that obviously won’t help you out too much. You’ll get a NullPointerException when you try to run your code. In order to actually cause your graphics to draw you need to this:
However, that still won’t work because Anim1 will not appear on the screen. To get it to appear on the screen you need something like:
Now notice, we don’t actually call the paint() function ourselves. That’s handled by the awt, which actually picks the graphics context, and calls our paint function for us. If you want, though, you can pass in any graphics object you want and ask it to draw on to that. (so if you want to draw your component onto an image, you can do it)
(note, I changed the classname from anim1 to So1)