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

    problemi di scroll di un'immagine

    Ciao a tutti!!

    ho realizzato un frame che visualizza un'immagine di grande dimensioni ... quindi ho utilizzato un JScrollPane per scrollarla... il problema è che lo ScrollPane sembra non funzionare..

    questo è il codice del frame

    Codice PHP:
    public class JPGFrame extends JFrame{
        
        
    JScrollPane scrollPane;

        public 
    JPGFrame() {

            
    super();

            
    setExtendedState(MAXIMIZED_BOTH);
            
    JPGPanel jPGPanel = new JPGPanel();
            
    scrollPane = new JScrollPane(jPGPanel);
            
    add(scrollPane);

            
    setVisible(true);

        } 
    e questo è il codice del pannello che supporta l'immagine

    Codice PHP:
    public class JPGPanel extends JPanel {

        
    BufferedImage bufferedImage;

    public 
    JPGPanel()
    {
        
    super();
            try {
                
                
    File file = new File("C:\\Users\\Lh\\Desktop\\Assembly_line_negozio_informatica.jpg");
                
    bufferedImage ImageIO.read(file);
               
            } catch (
    IOException ex) {
                
    Logger.getLogger(JPGPanel.class.getName()).log(Level.SEVEREnullex);
            }
    }

    public 
    void paint(Graphics g)
    {
        
    g.drawImage(bufferedImage,0,0,this);


    http://www.myspace.com/lacerhate

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

    Re: problemi di scroll di un'immagine

    Originariamente inviato da ddr.house
    il problema è che lo ScrollPane sembra non funzionare..
    C'è una questione che non hai considerato. JScrollPane contiene un JPanel. E JScrollPane per sapere "quanto" scrollare deve sapere la dimensione del componente contenuto.

    Ora ... quale è la dimensione del tuo JPGPanel??? Non centra il fatto che hai un campo BufferedImage e che ne fai il draw ... questo non vuol dire nulla. Il pannello non può dedurre una dimensione solo per questo.

    Se il componente nel JScrollPane non implementa la interfaccia Scrollable (è il caso di JPanel), allora JScrollPane si basa sul "preferred size" del componente.

    Quale è il preferred size del tuo pannello? Per default è 10 x 10. Per non dilungarmi troppo: appena dopo che hai caricato la immagine nel costruttore, prendi la sua dimensione e usa setPreferredSize(Dimension) per settare la dimensione preferita del pannello.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Ok ... come dici te funziona ... grazie mille !!!
    http://www.myspace.com/lacerhate

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.