Imagem piscando com o método paint

Bom,estou tentando fazer um jogo no qual tenho basicamente 4 imagens.
-A imagem do background(uma sala)]
-A imagem do personagem
-A imagem da caixa de diálogo(ainda não completamente implementada,somente está sendo
pintada para testar algumas coisas
-A face do personagem que fica na caixa de diálogo,que pode ser mudada dependendo da emoção do personagem(cara feliz,triste,brava,etc)
Porém,as imagens do personagem;da caixa de diálogo e da face do personagem na caixa de diálogo ficam piscando toda a hora,já tentei colocar muitos repaint();, porém nada deu certo.Poderiam me ajudar?

public void paint(Graphics g) {
Graphics2D g2d = (Graphics2D) g;

	g2d.drawImage(image_room, 0,0, this);//background(sala)
	g2d.drawImage(image, x,y, this);//personagem
g2d.drawImage(dialogboximage,50,50,null);//caixa de diálogo
g2d.drawImage(papyrus_emotions  ,60,70,null);//face da caixa de diálogo
repaint();


g.dispose();
}