我需要获得用户在可编辑组合中键入的内容,并研究并重新填充该单词的compo accordind。我这样想:
JTextComponent editor = (JTextComponent) cb.getEditor().getEditorComponent();
editor.addKeyListener(new KeyAdapter() {
public void keyReleased(KeyEvent evt) {
atualizarCombo();
}
});
但是当我试图获得可编辑组合的价值时,它只获得第一个字母和所有的消费者:
static void atualizarCombo(){
try {
System.out.println("action");
String typed = (String) cb.getEditor().getItem();
newSelection = typed;
newSelection = newSelection.trim();
carregarCombo(newSelection);
} catch (SQLException ex) {
Logger.getLogger(TesteCombo.class.getName()).log(Level.SEVERE, null, ex);
}
}
答案 0 :(得分:1)
它只获取第一个值,因为您使用的是keyListener。每次在这种情况下“释放”密钥时,都会调用keyReleased
方法。我不确定您的carregarCombo
方法正在做什么,因为您没有发布此代码。但是我会使用DocumentListener而不是keyListener