PDA

View Full Version : [java] visualizzare immagine in un "nuovo" JFrame


anyanka
24-05-2007, 13:27
Salve, ho un "problemino": ho creato un programma in java (completo di intergaccia grafica) ora avrei bisogno molto semplicemente di visualizzare un'immagine in un nuovo JFrame creato ad hoc, che poi viene nascosto..
Ho trovato metodi per farlo secondo cui bisogna ultilizzare il metodo drawImage su un oggetto Graphics e ridefinire il metodo paint o paintComponent, ma facendo così anzichè visualizzare l'immagine nell'altra finestra, mi fa "sparire" tutta l'interfaccia grafica perchè applica il metodo alla finestra principale...
Come si fa altrimeni!?!
:help:

PGI-Bis
24-05-2007, 17:48
Puoi farlo anche disegnando a mano sul componente ma è possibile che ti basti dire:

public void mostraImmagine(BufferedImage immagine) {
ImageIcon icon = new ImageIcon(immagine);
JLabel label = new JLabel(icon);
JFrame finestra = new JFrame("Immagine");
finestra.add(label);
finestra.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
finestra.pack();
finestra.setVisible(true);
}

Un BufferedImage lo ottieni partendo da un file immagine attraverso ImageIO.read.

anyanka
24-05-2007, 22:01
Grazie mille!! funziona!! anche senza il "BufferedImage" definendo direttamente l'icona!
Non avrei mai pensato ad un "label" così grande! :D
grazie grazie grazie!:ave: