Setar item do ComboBox que possui imagem

0 respostas
imagesimagejava
Rafael_Matos

Eu possuo um comboBox com a nacionalidade, na tela Editar Clube. Na hora de setar as informações do BD não estou conseguindo setar a nacionalidade escolhida no cadastro do clube. Eu possuo um Render no ComboBox para renderizar as imagens

No BD, possuo o endereço da imagem, e nome do país. Se fosse possível comparar isso com alguma coisa…

Preciso de ajuda.

Segue os códigos:

//Renderizar imagem no JComboBox
public class Renderizar_ComboBox extends JLabel implements ListCellRenderer
{

@Override
    public Component getListCellRendererComponent(JList list, Object val, int index, boolean selected, boolean focused) {
        //GET VALUES
        BeansBandeiras it=(BeansBandeiras) val;
        //TelaAdicionarClube ta=(TelaAdicionarClube) val;
        //SET VALUES
        setIcon(it.getImg());
        setText(it.getName());
        
        if (selected) {
            list.setToolTipText(((BeansBandeiras) val).name);
            setBackground(list.getSelectionBackground());
            setForeground(list.getSelectionForeground());
            
        if (-1 < index) {
            //list.setToolTipText(tooltips[index]);
            list.setToolTipText(((BeansBandeiras) val).name);
            }
        } else {
            list.setToolTipText(((BeansBandeiras) val).name);
            setBackground(list.getBackground());
            setForeground(list.getForeground());
        }
        
        setFont(list.getFont());
        
        return this;
    }
    
}

Void na TelaEditarClube para setar informações do BD:

public void SetInformacao(String id_clube){

conecta.conexao();

conecta.executaSql(SELECT * FROM tb_clubes where id_clube=’”+id_clube+"’");

try {

conecta.rs.first();

campo_nomecompleto.setText(conecta.rs.getString(nomecompt_clube));

campo_nomeabrev.setText(conecta.rs.getString(nomeabrv_clube));

campo_tecnico.setText(conecta.rs.getString(tecnico_clube));

combo_nacionalidade_tecnico.setSelectedItem(conecta.rs.getString(endereco_pais_clube));

// combo_nacionalidade_tecnico.setSelectedItem(conecta.rs.getString(“nome_pais_clube”));

// endereco_pais_clube recebe o endereço. Já o nome_pais_clube recebe somente o nome do país

} catch (SQLException ex) {

JOptionPane.showMessageDialog(null, Erro ao selecionar o dado da tabela+ex);

}

conecta.desconecta();

}

Não acontece nada, nem erro, quando eu coloco o combo_nacionalidade_tecnico.setSelectedItem(conecta.rs.getString(“endereco_pais_clube”));
Apenas aparece o combobox no primeiro item (Afeganistão), que já estava por padrão.

Precisava que setasse o comboBox por exemplo no item da Espanha, que está no BD.

Criado 26 de fevereiro de 2017
Respostas 0
Participantes 1