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

    [Java] Immagini all'interno di una JList

    devo inserire all'interno della JLsit delle righe aventi la seguente struttura:

    immagine -spazio- Scritta

    Solo che non ho ben chiaro cosa fare e come farlo

    helpete me

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    1,798
    Ciao innovatel,

    prova questo codice !!!

    Naturalmente è solo un piccolo esempio.

    codice:
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    
    class ElencoImmagini extends JFrame {
    
    	ElencoImmagini() {
    		// costruttore superclasse
    		super("Elenco Immagini");
    		// attributi contenitore
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setSize(400, 400);
    		// array di scritte che corrisponde al nome dell'icona
    		String[] scritte = new String[5];
    		for(int i = 0; i < scritte.length; i++) {
    			scritte[i] = "image_" + (i + 1);
    		}
    		// creo nuovo oggetto JList
    		JList list = new JList(scritte);
    		// imposto un renderer personalizzato
    		list.setCellRenderer(new CustomRow());
    		// aggiungo il componente al contenitore
    		getContentPane().add(list);
    		// mostro il tutto
    		show();
    	}
    
    	// inner class che si occupa di visualizzare icona + testo
    	// utilizzando il componente JLabel
    	class CustomRow extends JLabel implements ListCellRenderer {
    
    		// metodo (unico!) dell'interfaccia ListCellRenderer
    		public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
    			// testo dell'etichetta
    			setText(value.toString());
    			// icona da visualizzare
    			setIcon(new ImageIcon(".\\image_" + (index + 1) +  ".gif"));
    			return (this);
    		}
    	}
    
    	public static void main(String[] args) {
    		new ElencoImmagini();
    	}
    
    }

  3. #3
    Sei un grande !!!!

    funziona perfettamente !!!!

    scusami se non ti ho risposto subito ieri ma non ho fatto in tempo !!!!

    :metallica :metallica

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.