Imagem JcomboBox

3 respostas
progJava

Como faço para inserir imagem em um ((jComboBox no net beans))? Ex?

3 Respostas

thiago_spdvr

http://java.sun.com/docs/books/tutorial/uiswing/components/combobox.html

progJava

então na verdade seria um icone e um texto no mesmo item
EX.:

COMPONENTE

@ ENDEREÇO

  • UTILIDADES

teria algo mais simples ? Obrigado!

W

Cara, você vai ter que extender a classe DefaultListCellRenderer e dar um override no método getListCellRendererComponent, ex:

public class IconAndText extends DefaultListCellRenderer {
	private Map<String, Icon> icons = null;
	
	public IconAndText(Map<String, Icon> icons) {
		this.icons = icons;
	}
	
	public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
        //Aqui você chama o método da superclasse para pegar o JLabel que representa cada célula no JComboBox
		JLabel label = (JLabel) super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
		Icon icon = icons.get(value);
        // é  setar o ícone no JLabel
		label.setIcon(icon);
		
		return label;
	}
}

E no código do JFrame você usa o método setRenderer do seu JComboBox passando esse renderer customizado que você fez, aí você altera o constructor dele como você prefirir. :D

Criado 4 de janeiro de 2010
Ultima resposta 5 de jan. de 2010
Respostas 3
Participantes 3