我编写了一个自动完成组合框程序,在其中搜索用户在文件内输入的单词。该程序运行良好,但是combobox editor在键入内容时不返回任何内容。我不知道为什么。这是处理该问题的代码块。

// in GUI class constructor
    InstantSearchBox = new JComboBox();
    InstantSearchBox.setEditable(true);

    /*****/
    KeyHandler handle = new KeyHandler();

    InstantSearchBox.getEditor().getEditorComponent().addKeyListener(handle);


// Keylistener class (KeyPressed method)
try
{
    dataTobeSearched = InstantSearchBox.getEditor ().getItem ().toString ();

    // the string variable is empty for some reason
    System.out.println ("Data to be searched " + dataTobeSearched);
}
catch (NullPointerException e)
{
    e.printStackTrace ();
}


问候

最佳答案

不要使用KeyListener。在生成keyPressed事件时,尚未将键入的文本添加到文本字段中。

检查文本字段更改的更好方法是将DocumentListener添加到文本字段的Document中。有关更多信息,请参见Swing教程的How to Write a Document Listener部分。

关于java - jComboBox编辑器返回空字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14689068/

10-10 11:35