Exibir Imagem em um List.MULTIPLE

Olá a todos.

Estou com um problema que está persisitindo a alguns dias. Não consigo exibir uma imagem em um List.MULTIPLE.

Estou postando o código e espero que possam me ajudar a resolver este problema.

Main


import java.io.IOException;
import java.util.Vector;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;

public class Main extends MIDlet{
    
    Display display;
    
    public void destroyApp(boolean unconditional) throws MIDletStateChangeException {
        
    }

    public void pauseApp() {
        
    }

    public void startApp() throws MIDletStateChangeException {
        display = Display.getDisplay(this);
        Vector lista = new Vector();
        try {
            lista.addElement(new Produto(Image.createImage("/hp_16.png"), 310.00));
            lista.addElement(new Produto(Image.createImage("/iphone_16.png"), 420.00));
            lista.addElement(new Produto(Image.createImage("/lg_16.png"), 530.00));
            lista.addElement(new Produto(Image.createImage("/nokia_16.png"), 640.00));
            
            ProdutoList produto = new ProdutoList(this, lista);
            display.setCurrent(produto);
            
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }

    
    public void mudarTela(Displayable display){
        this.display.setCurrent(display);
    }
    
}

ProdutoList


import java.util.Vector;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.MIDletStateChangeException;

public class ProdutoList extends List implements CommandListener{
    private Main controlador;
    private Vector produtos;
    private Command fecharPedido, sair, info;

    public ProdutoList(Main controlador, Vector lista) {
        super("Lista de Produtos", List.MULTIPLE);
        this.controlador = controlador;
        this.produtos = lista;
        
        setFitPolicy(List.TEXT_WRAP_ON);
        
        for(int i=0; i < produtos.size(); i++){
            Produto p = (Produto) produtos.elementAt(i);
            append(new ImageItem("Imagem", p.getImagem(), Item.LAYOUT_LEFT, null) + " - " + p.getValor(), null);
        }
        
        sair = new Command("Sair", Command.EXIT, 0);
        addCommand(sair);
        fecharPedido = new Command("Fechar Pedido", Command.OK, 0);
        addCommand(fecharPedido);
        info = new Command("Info", Command.OK, 1);
        addCommand(info);
        
        setCommandListener(this);
    }

    public void commandAction(Command c, Displayable d) {
        if(c == sair){
            try {
                controlador.destroyApp(true);
            } catch (MIDletStateChangeException ex) {
                ex.getMessage();
            }
        }else{
            if(c == info){
                
            }else{
                boolean s[] = new boolean[size()];
        getSelectedFlags(s);
        for(int i=0;i<size();i++){
            if(s[i])
                produtos.addElement(getString(i));
        }
        
        for(int i=0; i < produtos.size();i++){
            System.out.println(produtos.elementAt(i));
        }
            }
        }
    }
    
    public void run(){
        boolean s[] = new boolean[size()];
        getSelectedFlags(s);
        for(int i=0;i<size();i++){
            if(s[i])
                produtos.addElement(getString(i));
        }
        
        for(int i=0; i < produtos.size();i++){
            System.out.println(produtos.elementAt(i));
        }       
    }    
}

Ele está exibindo uma String com o Objeto Image ao invés da imagem.

Agradeço a todos que responderem.

Obrigado.

Ninguém que possa ter passado por este problema ou possua uma solução?