Ciao a tutti ragazzi, ieri facendo un semplice visualizzatore di immagini è venuto fuori un "problemino", spiego e posto il codice, devo visualizzare una immagine e dal main mi chiede la path dell'immagine, qundo do invio, alcune volte mi fa vedere l'immagine, molto spesso invece per una frazione di secondo la fa vedere e poi sparisce subito....non so se mi sono spiegato, se invece attivo il metodo paint mi appare tutto normale...mi sapete spiegare dove sta l'intoppo?

codice
codice:
import java.awt.*;
import javax.swing.*;

public class Visualizzatore extends Frame{
	private Image img;
	private Insets ins;
	public Visualizzatore(String path) throws Exception {
		Toolkit tk=Toolkit.getDefaultToolkit();
		Dimension dim = tk.getScreenSize();
		//posso sostituire queste 4 righe con :
		ImageIcon ii=new ImageIcon(path);
		img=ii.getImage();
		/*
		img=tk.getImage(path);
		MediaTracker mt=new MediaTracker(this);
		mt.addImage(img,0);
		mt.waitForAll();	
		*/
		
		ins=getInsets();//deve andare sempre dopo setVisible
		int img_w=img.getWidth(null);
		int img_h=img.getHeight(null);
		int fr_w=img_w+2*10+ins.left+ins.right;
		int fr_h=img_h+2*10+ins.top+ins.bottom;		
		setSize(fr_w,fr_h);
		int x=(dim.width-getWidth())/2;
		int y=(dim.height-getHeight())/2;
		setLocation(x,y);
		setTitle("gorilla");
                setVisible(true);
		Graphics g= getGraphics();
		g.drawImage(img,ins.left+10,ins.top+10,null);	
	}
	/*
	public void paint(Graphics g){
		g.drawImage(img,ins.left+10,ins.top+10,null);	
	}
	*/
	//home/domenico/Scrivania/gorilla.jpg
	public static void main(String[] args) throws Exception{
		String path=JOptionPane.showInputDialog("inserisci la path dell'immagine: "); //ha dei metodi statici mi crea finestre di dialogo  al volo
	new Visualizzatore(path);
	}

    
}