JComboBox e Binding... Perca do Filtro de seleção durante a digitação

3 respostas
root_

Bom, conforme o link:
http://weblogs.java.net/blog/2008/05/22/binding-jcomboboxs-elements-and-selected-item
É explicado direitinho como renderizar o jcomboBox para mostrar o que realmente queremos ver no jcomboBox…
O problema é que quando vinculamos o jcomboBox, ele perde a vantagem da pré-seleção do item quando começamos a digitar.
Alguem sabe como resolver este problema?

OBS: o comboBox não é editável e se usado sem binding, a “pré-selecao do item” funciona perfeitamente.

Agradeço desde já a todos…

3 Respostas

root_

root_:
Bom, conforme o link:
http://weblogs.java.net/blog/2008/05/22/binding-jcomboboxs-elements-and-selected-item
É explicado direitinho como renderizar o jcomboBox para mostrar o que realmente queremos ver no jcomboBox…
O problema é que quando vinculamos o jcomboBox, ele perde a vantagem da pré-seleção do item quando começamos a digitar.
Alguem sabe como resolver este problema?

OBS: o comboBox não é editável e se usado sem binding, a “pré-selecao do item” funciona perfeitamente.

Agradesço desde já a todos…

Encontrei um detalhe importante…
Quando eu adiciono um renderer customizado, citado logo abaixo, não fuciona o filtro de pré-seleção quando começo a digitar o campo que desejo selecionar.

/**
 *
 * @author Rogério Queiroz
 */
public class ComboBoxRenderer  extends DefaultListCellRenderer{
    @Override
    public Component getListCellRendererComponent(
        JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
        super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
        if(value instanceof Municipios){
            Municipios m = (Municipios) value;
            setText(m.getNome().concat(" - ").concat(m.getIduf()));
            setToolTipText(getText());
        }
        return this;
    }    
}

O que eu deveria adicionar neste renderer customizável para que não perdesse a propriedade da pré-seleção ao precionar teclas?

flaviorgiron

Boa noite amigos.

Acredito que estou passando pelo mesmo problema que você.

Estou utilizando um jComboBox no meu desenvolvimento Desktop, e carrego uma lista de objetos para o mesmo.
Porém preciso deixar este combo box editável para que o usuário possa informar valores nele. Mais quando utilizo o renderer abaixo não esta funcionando pois ao selecionar um item no combo editável ele perde o renderer.
Volta a ficar assim

“br.com.gestaoempresario.model.Parametros[ idParametro=1 ]”

RENDERER

public class ParametroListCellRenderer extends DefaultListCellRenderer {

    @Override
    public Component getListCellRendererComponent(
            JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
        super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
        if (value instanceof Parametros) {
            Parametros p = (Parametros) value;
            setText(p.getDescricao());
        }
        return this;
    }
}

Você ou alguem poderia me ajudar, andei pesquisando e ainda nao obtive sucesso.

Forte Abraço a todos.

root_

Jovem, atropelei este problema, por enquanto, pois estou no meio de um desenvolvimento e ñ tenho tempo para estudar “novas soluções”. Ainda quero resolver isto, talvez não tenha como mesmo por ser uma limitação de binding… quem sabe isso e o document personalizado do textField não seja resolvido na próxima versão da API!!!

Criado 15 de abril de 2011
Ultima resposta 16 de jun. de 2011
Respostas 3
Participantes 2