@Rafael_Matos escreveu:
Estou precisando fazer com que ao apertar qualquer letra do alfabeto dentro do jComboBox render ele set a o item correspondente a letra teclada. Exemplo: JComboBox com nacionalidade, Aperto a letra B, ele vai direto para o primeiro item com a letra B. (exemplo, Brasil).
No ComboBox default (ou seja o normal, sem utilizar o render) já faz isso automaticamente. Porém meu ComboBox possui imagem. E com isso ele não faz isso automaticamente. Mas pelo meu conhecimento, provavelmente aplicando uma função dentro do meu comboBox render já seria o suficente para resolver o problema. Ou talvez a forma de como está o setIcon no comboBox render esteje bloqueando isso...
Vou postar o código do meu ComboBox Render, funcionando normal.
public class Renderizar_ComboBox extends JLabel implements ListCellRenderer
{
protected DefaultListCellRenderer defaultRenderer = new DefaultListCellRenderer();@Override public Component getListCellRendererComponent(JList list, Object val, int index, boolean selected, boolean focused) { JLabel renderer = (JLabel) defaultRenderer.getListCellRendererComponent(list, val, index, selected, focused); //GET VALUES BeansBandeiras it=(BeansBandeiras) val; //TelaAdicionarClube ta=(TelaAdicionarClube) val; //SET VALUES renderer.setIcon(it.getImg()); renderer.setText(it.getName()); if (selected) { list.setToolTipText(((BeansBandeiras) val).name); //list.setBackground(null); //list.setForeground(null); //setBackground(list.getSelectionBackground()); //setForeground(list.getSelectionForeground()); setBackground(Color.LIGHT_GRAY); if (-1 < index) { //list.setToolTipText(tooltips[index]); list.setToolTipText(((BeansBandeiras) val).name); } } else { //list.setToolTipText(((BeansBandeiras) val).name); //setBackground(list.getSelectionBackground()); //setForeground(list.getSelectionForeground()); setBackground(Color.WHITE); } //setFont(list.getFont()); return renderer; } }
Mensagens: 1
Participantes: 1