Una piccola miglioria si può fare. Da specifiche nella documentazione, come ho detto, si è solo sicuri che il Transferable ricevuto con un DataFlavor.imageFlavor fornisce un java.awt.Image. Ma è chiaro che l'oggetto è poi realmente di un sottotipo di Image. Quale sia non è scritto/garantito da nessuna parte .... se però fai una prova e stampi la classe dell'oggetto che ottieni, scoprirai che è un BufferedImage.Originariamente inviato da wallrider
secondo te è il modo migliore o c'è di meglio?
Quindi l'idea è: fai un test con instanceof per vedere se è un BufferedImage. Se così, usi direttamente quello (facendo un cast). Altrimenti fai la procedura che hai scritto per creare un BufferedImage (e ricordati di fare il dispose() del Graphics!).

Rispondi quotando