Quote Originariamente inviata da nmontec Visualizza il messaggio
Apparentemente su nessuno dei tre
Io ne ho detti 4 di aspetti.

Quote Originariamente inviata da nmontec Visualizza il messaggio
nel senso che io ho creato un'immagine in un Raster
Che intendi con "raster"? Nel senso generale di "immagine raster" che consiste in una griglia di pixel (concetto contrapposto alle immagini "vettoriali")?
O intendi proprio java.awt.image.Raster? Un Raster è solo la rappresentazione di un'area rettangolare di pixel e che contiene un DataBuffer con i pixel in un determinato formato. Raster è solo una struttura dati interna, non è una immagine come intesa dal framework.
Le immagini in Java (perlomeno in Java SE) sono rappresentate da java.awt.Image e sotto-tipi.

Quote Originariamente inviata da nmontec Visualizza il messaggio
e non capisco come fare a visualizzarla in un JPanel
Se vuoi solo far vedere una immagine, il modo più semplice è:
- creare un ImageIcon, direttamente (da file/URL) o da un Image già esistente.
- assegnare il ImageIcon ad un JLabel.
- inserire JLabel in un contenitore: il content pane di JFrame, un JPanel specifico, ecc....

Non servirebbe di certo il custom painting solo per questo.

Quote Originariamente inviata da nmontec Visualizza il messaggio
ed anche a cambiare immagine alla bisogna (tipo il classico comando File->Open)
Questo è appunto il primo aspetto che dicevo "il caricamento di una immagine da file/stream/risorsa nei formati standard es. gif/jpeg/png".
Se usi JFileChooser (da un classico menù File->Apri) per far scegliere un file immagine, JFileChooser ti fornisce solo il pathname del file e basta, non "apre" o carica un bel niente.
Come usare il pathname spetta a te. Se è una immagine, allora può essere caricata tramite diverse API del framework per ottenere un Image o BufferedImage (a seconda della classe/metodo usato).
C'è il toolkit di AWT (java.awt.Toolkit), c'è la API ImageIO (javax.imageio.ImageIO) e c'è javax.swing.ImageIcon che è la principale implementazione di Icon.