Ciao, avrei due domande da farvi:
1. Avete per caso qualche dritta da darmi su come si effettua il drag and drop di un'immagine contenuta in un'icone di una JLabel in un'altra?
2. Ho implementato un operazione di zoom dell'immagine visualizzata, se la rimpicciolisco nessun problema, ma se aumento la dimensione(da zoomSelezionato==5 in poi) mi genera questa eccezione:
Exception in thread "Image Fetcher 0" java.lang.OutOfMemoryError: Java heap space
at java.awt.image.DataBufferInt.<init>(DataBufferInt. java:41)
Ho letto che bisogna aumentare la dimensione dell'heap, ma le istruzioni erano solo da linea di comando, io utilizzo NetBeans.
Il metodo utilizzato è il seguente:
ciao e grazie!!!!codice:public void actionPerformed(ActionEvent e) { Vista vista = this.controllo.getVista(); SchermoPrincipale schermoPrincipale = (SchermoPrincipale) this.controllo.getVista().getSottoVista(Costanti.VISTA_SCHERMO_PRINCIPALE); int zoomSelezionato=schermoPrincipale.getZoomSelezionato(); Image image = schermoPrincipale.getImageOriginale(); int altezza=image.getHeight(vista); int larghezza = image.getWidth(vista); if(zoomSelezionato==1){ image = image.getScaledInstance(larghezza/4, altezza/4, Image.SCALE_SMOOTH); }else if(zoomSelezionato == 2){ image = image.getScaledInstance(larghezza/3, altezza/3, Image.SCALE_SMOOTH); }else if(zoomSelezionato == 3){ image = image.getScaledInstance(larghezza/2, altezza/2, Image.SCALE_SMOOTH); }else if(zoomSelezionato == 4){ image = image; }else if(zoomSelezionato == 5){ image = image.getScaledInstance(larghezza*10, altezza*10, Image.SCALE_SMOOTH); }else if(zoomSelezionato ==6){ image = image.getScaledInstance(larghezza*50, altezza*50, Image.SCALE_SMOOTH); }else if(zoomSelezionato == 7){ image = image.getScaledInstance(larghezza*75, altezza*75, Image.SCALE_SMOOTH); }else if(zoomSelezionato == 8){ image = image.getScaledInstance(larghezza*100, altezza*100, Image.SCALE_SMOOTH); } schermoPrincipale.aggiornaImmagine(image); } }

Rispondi quotando