Be' JFrame e JButton sono due cose diverse in termini di inserirci una immagine..
JFrame ha il suo metodo "setIconImage (Image img)" come dicevamo prima
JButton ha il suo metodo (a dir la verità lo eredita da AbstractButton) "setIcon (Icon icon)"
dunque sono un po' diversi
nel primo caso potresti fare:
codice:
tuaFrame.setIconImage (new ImageIcon (stringaPercorsoImmagine).getImage ());
per i bottoni:
codice:
tuoBottone.setIcon (new ImageIcon (stringaPercorsoImmagine));
come faccio? dove devo mettere la mia foto?
Il come fare te l'ho detto sopra , la foto la puoi mettere dove ti pare basta che sia in un percorso indirizzabile e raggiungibile..ciò non significa che puoi mettere l'immagine sul tuo desktop e magari distribuisci la tua applicazione con il percorso della immagine che sta sul tuo desktop , su un altro pc non funzionerà perchè probabilmente in quel percorso quella immagine non ci sarà o addirittura quel percorso non esiste..solitamente è buona cosa inserire le immagini nei jar dell'applicazione o eventuali cartelle/percorsi che distribuirai insieme alla tua applicazione stessa
Spero di essere stato chiaro.