Visualizzazione dei risultati da 1 a 9 su 9

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2014
    Messaggi
    11

    settare immagine ad una jlabel

    Salve a tutti
    Il mio problema è che non riesco a settare un immagine ad una jlabel.
    Tramite l'evento MouseClicked apro una Dialog che usa jfilechooser.
    Ho provato così:

    codice:
    private void jLabel1MouseClicked(java.awt.event.MouseEvent evt) {                                     
    
    
            JFileChooser chooser = new JFileChooser();
            
            FileNameExtensionFilter filter = new FileNameExtensionFilter("Immagini", "jpg", "gif", "bmp", "png");
    
    
            chooser.setFileFilter(filter);
    
    
            Component parent = null;
            
            chooser.showOpenDialog(parent);
    
    
    
            jLabel1.setIcon(chooser.getIcon(chooser.getSelectedFile()));
    
    
    
        }

    Soltanto che mi setta l'icona non l'immagine.
    Mi potreste aiutare?
    Grazie in anticipo
    Ultima modifica di LeleFT; 10-03-2014 a 13:10 Motivo: Aggiunti i tag CODE

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da kalif Visualizza il messaggio
    jLabel1.setIcon(chooser.getIcon(chooser.getSelectedFile()));
    Questo getIcon non è quello che ti serve. Non serve per caricare una immagine arbitraria scelta dall'utente con JFileChooser. Serve per ottenere la icona che rappresenta un tipo di file (es. per i .txt la classica icona del foglio-documento).

    JFileChooser ti fornisce un pathname, se è una immagine la puoi caricare con la API di ImageIO, oppure con uno dei costruttori di ImageIcon oppure direttamente con la API del Toolkit di AWT. Con il solo Java SE altre strade non ce ne sono.

    P.S. E ognuna di queste API che ho citato ha caratteristiche differenti e le sue potenzialità e i suoi limiti.
    Quindi devi approfondire ...
    Ultima modifica di andbin; 08-03-2014 a 15:01
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2014
    Messaggi
    11
    Grazie andbin ma non ho capito, scusa la mia ignoranza

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da kalif Visualizza il messaggio
    Grazie andbin ma non ho capito, scusa la mia ignoranza
    javax.imageio.ImageIO
    oppure
    javax.swing.ImageIcon
    oppure
    java.awt.Toolkit

    Queste sono le 3 API di Java SE per caricare "immagini". E ognuna ha le sue caratteristiche. Cerca sul forum, ne abbiamo già parlato sicuramente.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2014
    Messaggi
    11
    Grazie andbin.
    Ho controllato le 3 API e ho controllato anche varie discussioni su questo argomento.
    L'unico problema che mi rimane è il settare l'immagine poiché non riesco a trovare un setImage.

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da kalif Visualizza il messaggio
    L'unico problema che mi rimane è il settare l'immagine poiché non riesco a trovare un setImage.
    JLabel tratta solo Icon (get/setIcon). ImageIcon è-un Icon, quindi già appropriato. Se carichi la immagine con il Toolkit o con ImageIO ottieni rispettivamente un Image o un BufferedImage. In entrambi i casi puoi incapsularli in ImageIcon (c'è il costruttore apposito).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2014
    Messaggi
    11
    Grazie Leleft, mi sei stato molto utile.
    Comunque grazie anche a andbin, non sono riuscito ad applicare i tuoi consigli, ma grazie lo stesso

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 © 2026 vBulletin Solutions, Inc. All rights reserved.