Fala…
Bom faz um dia e meio que eu quero adicionar um keylistener em um JComboBox mas ele não ouve nada!!! 
Alguém ja conseguiu fazer isso funcionar?
Fala…
Bom faz um dia e meio que eu quero adicionar um keylistener em um JComboBox mas ele não ouve nada!!! 
Alguém ja conseguiu fazer isso funcionar?
Mostre como vc está implementando
...
nomeJComboBox.addKeyListener(
new KeyAdapter()
{
public void keyPressed(KeyEvent e){
System.out.println("a");
}
}
...
teuComboBox.addKeyListener(new KeyListener() {
public void keyReleased(KeyEvent arg0) {
// TODO Auto-generated method stub
}
public void keyPressed(KeyEvent arg0) {
JOptionPane.showMessageDialog(null,"Apertou um tecla do teclado");
}
public void keyTyped(KeyEvent arg0) {
System.out.println(arg0.getKeyChar());
}
});
Cara, o q tu queres fazer exatamente? pq no q tu mostraste qdo o foco estiver no combox e uma tecla for acionada, ele vai mostrar uma mensagem. que tipo de evento tu queres?
Fala…Bom faz um dia e meio que eu quero adicionar um keylistener em um JComboBox mas ele não ouve nada!!!
Alguém ja conseguiu fazer isso funcionar?
Tente fazer o seguinte:
seuCombo.setEditable(false);

A Paz!!
teuComboBox.addKeyListener({new KeyListener()public void keyReleased(KeyEvent arg0) { // TODO Auto-generated method stub } public void keyPressed(KeyEvent arg0) { JOptionPane.showMessageDialog(null,"Apertou um tecla do teclado"); } public void keyTyped(KeyEvent arg0) { System.out.println(arg0.getKeyChar()); } });</blockquote>Isso não funciona…
Ele não pega o evento!!!
Eu quero que o usuário digite uma palavra e que quando ele abrir o combo venha do banco os nomes que começam com a palavra digitada…
e eu quero fazer isso enquanto ele digita a palavra… … mas o combo não “ouve” nada!!
Deixa eu contar uma novidade…
Se eu fizer combo.setEditable(false) o keylistener funciona!!!
Meu Deus… :shock:
Naum seria melhor trabalhar com Modelo (DefaultComboBoxModel)? Ao invés de você fazer esta filtragem na SQL vc armazenaria todos os registros em uma Collection no modelo, e toda vez que digitasse algo no combo ele filtraria apenas na aplicaçao, sem precisar ir ao banco sempre.
Naum seria melhor trabalhar com Modelo (DefaultComboBoxModel)? Ao invés de você fazer esta filtragem na SQL vc armazenaria todos os registros em uma Collection no modelo, e toda vez que digitasse algo no combo ele filtraria apenas na aplicaçao, sem precisar ir ao banco sempre.
Tudo bem… … mas como pegar o evento do teclado!!!
ja tentei isso mas como implementar o JTextComponent em um JFrame e não em um PlainDocument
Deixa eu contar uma novidade…Se eu fizer
combo.setEditable(false)o keylistener funciona!!!Meu Deus… :shock:
Seguinte, eu mudei meu post lá em cima… é isso mesmo vc tem que setar para false.
Para vc interceptar agora vc terá que adicionar um Editor ao seu combo…
A Paz!!
// isso vc coloca na gui
JComboBox comboBox = new JComboBox(new Object[] {"Ester", "Jordi", "Jordina", "Jorge", "Sergi"}); //eu recomendo criar um modelo q extenda de DefaultComboBoxModel, nele vc conecta com obanco uma vez e adiciona os itens do combobox
comboBox.setEditable(true);
// get the combo boxes editor component
JTextComponent editor = (JTextComponent) comboBox.getEditor().getEditorComponent();
// change the editor's document
editor.setDocument(new S02BrokenAutoSelection(comboBox.getModel()));// esta classe está disponível em: http://www.orbital-computer.de/JComboBox/source/S02BrokenAutoSelection.java
É só vc importar essa a classe S02BrokenAutoSelection para o seu projeto, eu testei aki e funcionou.
Mais uma coisa, qdo for criar um post, tente dar o máximo de informação no início, pra ficar essa sequ~encia de posts desnecessárias.
Qualquer duvida pode perguntar.
Pronto, agora é só fazer isso:// isso vc coloca na gui JComboBox comboBox = new JComboBox(new Object[] {"Ester", "Jordi", "Jordina", "Jorge", "Sergi"}); //eu recomendo criar um modelo q extenda de DefaultComboBoxModel, nele vc conecta com obanco uma vez e adiciona os itens do combobox comboBox.setEditable(true); // get the combo boxes editor component JTextComponent editor = (JTextComponent) comboBox.getEditor().getEditorComponent(); // change the editor's document editor.setDocument(new S02BrokenAutoSelection(comboBox.getModel()));// esta classe está disponível em: http://www.orbital-computer.de/JComboBox/source/S02BrokenAutoSelection.javaÉ só vc importar essa a classe S02BrokenAutoSelection para o seu projeto, eu testei aki e funcionou.
Mais uma coisa, qdo for criar um post, tente dar o máximo de informação no início, pra ficar essa sequ~encia de posts desnecessárias.
Qualquer duvida pode perguntar.
comboBox.setEditable(true);
JTextComponent editor = (JTextComponent)jComboBox1.getEditor().getEditorComponent();
editor.addKeyListener(new KeyListener() {
public void keyReleased(KeyEvent arg0) {
}
public void keyPressed(KeyEvent arg0) {
JOptionPane.showMessageDialog(null,"Apertou um tecla do teclado");
}
public void keyTyped(KeyEvent arg0) {
System.out.println(arg0.getKeyChar());
}
});
Eita moçada boa 
Valew mesmo galeria…
estou tendo o mesmo problema q o klarq 
mas a classe que resolveria o problema S02BrokenAutoSelection não está mais no link passado
solução alternativa ou link alternativo?