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); } }

Rispondi quotando