Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    31

    Visualizzare bitmap in jPanel

    Ciao a tutti.
    Voglio creare un pannello contenente una immagine.
    A tale scopo ho usato una classe ImagePnaleche estende jpanel (il cui codice è riportato alla fine del post), ho inserito un pannello, denominato panel, nel mio frame, ho scritto nella classe che estende jframe

    ImagePanel panel1 = new ImagePanel("foto.jpg");
    panel.add(panel1);

    e la cosa sembra funzionare, ma con due limitazioni:

    1) Io vorrei poter visualizzare in questo pannello anche le bitmap ma non riesco.. come posso fare?
    2) Vorrei che se una immagine abbia una dimensione superiore a quella del panel, vengano visualizzati gli scroller laterali.

    Grazie in anticipo per i vostri consigli e auguri di buon anno.

    public class ImagePanel extends JPanel {

    private Image img;

    public ImagePanel(String img) {
    this(new ImageIcon(img).getImage());
    }

    public ImagePanel(Image img) {
    this.img = img;
    Dimension size = new Dimension(img.getWidth(null),img.getHeight(null));
    setPreferredSize(size);
    setMinimumSize(size);
    setMaximumSize(size);
    setSize(size);
    setLayout(null);
    }

    public void paintComponent(Graphics g) {
    g.drawImage(img,0,0,null);
    }

    }

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Visualizzare bitmap in jPanel

    Originariamente inviato da supern3t
    1) Io vorrei poter visualizzare in questo pannello anche le bitmap ma non riesco.. come posso fare?
    Scusa ma cosa intendi per "bitmap"?? Quello che visualizzi è un Image, no?

    Originariamente inviato da supern3t
    2) Vorrei che se una immagine abbia una dimensione superiore a quella del panel, vengano visualizzati gli scroller laterali.
    Questo non dovrebbe essere la tua classe a farlo. Cioè non è la classe che disegna che dovrebbe interessarsi della gestione delle scrollbar.
    Si deve fare mettendo un oggetto ImagePanel dentro un JScrollPane (aggiungendo poi quest'ultimo nel container).
    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
    Aug 2002
    Messaggi
    31

    Re: Re: Visualizzare bitmap in jPanel

    Originariamente inviato da andbin
    Scusa ma cosa intendi per "bitmap"?? Quello che visualizzi è un Image, no?
    Intendo un file bitmap in senso stretto, ossia i file con estensione .bmp.

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Re: Re: Visualizzare bitmap in jPanel

    Originariamente inviato da supern3t
    Intendo un file bitmap in senso stretto, ossia i file con estensione .bmp.
    Il problema allora è come carichi la immagine, cioè con quali classi/metodi. Per caricare una immagine c'è infatti ben più di un modo!!

    javax.swing.ImageIcon si basa su java.awt.Toolkit e secondo le specifiche (vedi il javadoc) il metodo getImage() di Toolkit supporta solo GIF/JPEG/PNG.

    Esiste anche la nuova classe javax.imageio.ImageIO, vedi i suoi metodi read(). Che però supporta i file .BMP solo da Java 5 in poi.
    Nota, questa nuova gestione delle immagini nel package javax.imageio è basata su "plugin" e il fatto è che il plugin per i BMP è stato integrato in Java SE appunto solo a partire da Java 5.
    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
    Aug 2002
    Messaggi
    31
    grazie per l'indicazione, ho risolto.

    A chi dovesse riscontrare lo stesso problema, consiglio di leggersi il thread di http://forum.java.sun.com/thread.jsp...sageID=4223499

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.