Salve ragazzi,
ho un problema che mi sta facendo arrovellare il cervello.![]()
Sto sviluppando un sistema che gestisce risultati sportivi in Java.
Ho realizzato un JDesktopFrame con un barra superiore JmenuBar che gestisce l'apertura di finestre le JInternalFrame.
Ho applicato al JDesktopFrame un'immagine di sfondo tramite il metodo Paint
Ora il mio problema è che all'apertura delle finestre oppure al calar del menù della JmenuBar questa immagine di background ovviamente viene x così dire deturpata lasciando bianco lo spazio occupato precedentemente...codice:public void paint(Graphics g) { super.paint(g); g.drawImage(backImage,60,60,desktop); }
le ho provate tutte...
ho provato ad implementare la mouseListener così al click del mouse creo la chiamata al
gui.repaint() ma funziona solo se clicco sul desktop frame e non sulle altre finestre.
Ho provato ad applicare questa funzione agli eventi delle JinternalFrame col risultato che facendo il repaint "scompare la JinternalFrame da poco creata.
ho provato con un timerTask a fare il refresh ogni 200 ms ma crea lo stesso effetto di prima con in più uno sfarfallio dell'immagine dovuto al refresh e tante altre prove sempre col solito risultato.![]()
cosi richiamo l'immagine inserita nel costruttore:
e faccio il paint con il metodo postato prima.codice:backImage = new ImageIcon(this.getClass().getResource("img/sfondo.gif")).getImage();
Potete darmi qualche idea o magari c'è qualche metodo che evita questo problema qui? :master:
Qualunque soluzione o consiglio è ben accetto
Grazie

Rispondi quotando