我需要创建一个可编辑的JComboBox
来显示来自SqLite数据库的数据,该数据与JComboBox
中的类型文本相匹配。我使用DocumentListener
并且它有效,但我得到了如下的例外情况:
尝试在通知中变异
这是我的代码,
org.jdesktop.swingx.autocomplete.AutoCompleteDecorator.decorate(jComboBox1);
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
final JTextComponent tcA = (JTextComponent) jComboBox1.getEditor().getEditorComponent();
tcA.getDocument().addDocumentListener(new DocumentListener() {
@Override
public void insertUpdate(DocumentEvent e) {
try {
SQDB s = new SQDB();
ResultSet rs = s.getData("SELECT e_word FROM words WHERE e_word LIKE '" + tcA.getText()+ "%'");
while (rs.next()) {
jComboBox1.addItem(rs.getString("e_word"));
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
@Override
public void removeUpdate(DocumentEvent e) {
}
@Override
public void changedUpdate(DocumentEvent e) {
}
});
}
});
如何解决此异常。谢谢