Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Disegnare su un JPanel

    Ciao a tutti,
    vorrei visualizzare una immagine su un JPanel quando l'utente clicca su un bottone.
    Ho provato in vari modi ....
    codice:
    private void onClickBtnVisualizza(){
    		Graphics g = panel.getGraphics();
    		g.drawImage(img, 0, 0, null);
    		panel.paintComponents(g);
    	}
    Questo è l'ultimo, ma non funziona.
    Ho provato anche con paint al posto di paintComponent ma le cose non cambiano.
    Ho fatto un sacco di prova e sono un po' demoralizzato.
    Ho cercato molto sul web, ho trovato vari esempi su come mettere uno sfondo su una JPanel creando una classe estesa di JPanel ma io voglio che l'immagine venga mostrata solamente al clik su un bottone ...
    Grazie della gentile attenzione.
    un uomo senza panza e come un cielo senza stelle ...mio tris ...

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    panel suppongo proprio sia il pannello in questione. Prova al termine del metodo a mettere "panel.repaint();"

  3. #3
    Grazie del suggerimento ma avevo già provato e non cambia le cose.

    img è un oggetto che ho reato in questo modo:

    codice:
    img = Toolkit.getDefaultToolkit().createImage("foto.jpg");
    e panel è un JPanel

    non so più cosa fare, non mi da nessun errore ma non mostra l'immagine
    un uomo senza panza e come un cielo senza stelle ...mio tris ...

  4. #4
    Originariamente inviato da clingonboy
    non so più cosa fare, non mi da nessun errore ma non mostra l'immagine
    Devi fare l'override del metodo paintComponent ed in questo caso devi controllare il fatto che l'immagine deve essere disegnata quando lo dice l'utente.

    Oppure senza ricorrere all'ereditarietà, puoi aggiungere a quel pannello una istanza della classe JLabel e nel momento in cui l'utente preme il bottone invochi su di essa
    codice:
    setIcon(Icon icon);

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.