我编写了一个自动完成组合框程序,在其中搜索用户在文件内输入的单词。该程序运行良好,但是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/