如何在java中使用像eddownlist这样的可编辑组合框?

时间:2017-01-06 17:26:27

标签: java swing jcombobox

我需要获得用户在可编辑组合中键入的内容,并研究并重新填充该单词的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);
    }
}

1 个答案:

答案 0 :(得分:1)

它只获取第一个值,因为您使用的是keyListener。每次在这种情况下“释放”密钥时,都会调用keyReleased方法。我不确定您的carregarCombo方法正在做什么,因为您没有发布此代码。但是我会使用DocumentListener而不是keyListener