2009-10-26 5 views

risposta

7

È necessario ridipingere lo JFrame ogni volta che si aggiorna l'immagine.

Ecco quello che una semplice google sul tema porta in primo piano: (io uso questi tutorial per tutta la codifica mia Java)

Java Tutorial: Drawing an Image

3

Io non sono davvero sicuro di quello che è in discussione, ma se avete a BufferedImage quindi devi semplicemente creare un ImageIcon usando l'immagine, quindi aggiungere l'icona a una JLabel e aggiungere l'etichetta alla GUI come qualsiasi altro componente.

Se la tua domanda è su come creare una scala di grigi, io ti suggerisco di cercare nel web usando quei termini come parole chiave di ricerca, sono sicuro che troverai esempi là fuori.

34

Per costruire la soluzione di camickr (per i pigri come me che vogliono il codice rapido per copiare/incollare) ecco un'illustrazione di codice:

JFrame frame = new JFrame(); 
frame.getContentPane().setLayout(new FlowLayout()); 
frame.getContentPane().add(new JLabel(new ImageIcon(img))); 
frame.getContentPane().add(new JLabel(new ImageIcon(img2))); 
frame.getContentPane().add(new JLabel(new ImageIcon(img3))); 
frame.pack(); 
frame.setVisible(true); 
//frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // if you want the X button to close the app 
+0

Questo rende appena possibile la finestra più piccola. –

+1

È passato molto tempo da quando usavo lo swing, ma supponevo che non avessi chiamato 'pack()' se hai una piccola finestra –

+0

esattamente quello che stavo cercando, controlla velocemente se bufferedImages sono letti correttamente .. no è necessario che tutto questo JComponent si estenda e sovrascriva la stampa. Grazie! –