Java初心者の高校生です。今タイピングゲームを作っています。
以下のような、クラス内でpaintメソッドを定義したJFrameを継承したクラスXXXのインスタンスを、mainメソッドから生成してmeeenメソッド中の処理を行うようにしたいです。

class XXX extends JFrame{
Image offi;
Graphics offg;

public XXX(){
offi = createImage(640, 480);
offg = offi.getGraphics();
meeen();
}
public void paint(Graphics g){
offg.setColor(new Color(0,0,0));//[[[[この行]]]]
offg.drawString("うるおいミルク ぷー",100,100);
g.drawImage(offi,0,0,this);
}
public void meeen(){処理;}
}

実行してみると、上の[[[[この行]]]]を含む行にNullPointerExceptionが発生する時があります(しない時もあります)。
例外が発生した時はXXXのコンストラクタ内の特定の処理が終了する前にpaintメソッドが呼び出されてしまったということなのでしょうか?
どなたか解説お願いします!