在输入textField之后,其中一个字母:" e,E,f,F,g,G",我的应用程序中的comboBox正在改变。我想在输入其中一封信后立即清除我的textField,但我不能这样做。我用:
tekstField.setText("");
但它不起作用。可能是因为我无法在Swing中听听。
textField.getDocument().addDocumentListener(new DocumentListener() {
public void changedUpdate(DocumentEvent e) {
updateLog(e);
}
public void removeUpdate(DocumentEvent e) {
}
public void insertUpdate(DocumentEvent e) {
updateLog(e);
}
public void updateLog(DocumentEvent e) {
Document doc = (Document) e.getDocument();
int docLength = doc.getLength();
String key;
try {
key = e.getDocument().getText(0, docLength);
if (docLength == 1 && !key.matches("^[0-9]$")) {
char labSymbol = key.charAt(0);
switch (labSymbol) {
case 'E' :
case 'e' :
labTypeComboBox.setSelectedIndex(0);
break;
case 'F' :
case 'f' :
labTypeComboBox.setSelectedIndex(1);
break;
case 'G' :
case 'g' :
labTypeComboBox.setSelectedIndex(2);
break;
default :
break;
}
tekstField.setText("");
}
} catch (BadLocationException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
});
有谁知道如何解决这个问题?