import javax.swing.*;
import javax.swing.event.*;public class dd extends JFrame {
private static final long serialVersionUID = 1L; private JComboBox cmb = new JComboBox(); dd() {
this.add(cmb);
this.setVisible(true);
this.pack();
cmb.setEditable(true);
cmb.setAutoscrolls(false);
cmb.addItem("aa");
cmb.addItem("ab"); ((JTextField) cmb.getEditor().getEditorComponent()).getDocument()
.addDocumentListener(new DocumentListener() { public void changedUpdate(DocumentEvent de) {} public void insertUpdate(DocumentEvent de) {
cmb.showPopup();
cmb.removeAllItems();-------就是这里报错****************
} public void removeUpdate(DocumentEvent de) {} });
} public static void main(String args[]) {
new dd();
}
}总是报错:Attempt to mutate in notification
我查了一下,是因为write lock了,那要如何解锁?如何实现相关操作??
import javax.swing.event.*;public class dd extends JFrame {
private static final long serialVersionUID = 1L; private JComboBox cmb = new JComboBox(); dd() {
this.add(cmb);
this.setVisible(true);
this.pack();
cmb.setEditable(true);
cmb.setAutoscrolls(false);
cmb.addItem("aa");
cmb.addItem("ab"); ((JTextField) cmb.getEditor().getEditorComponent()).getDocument()
.addDocumentListener(new DocumentListener() { public void changedUpdate(DocumentEvent de) {} public void insertUpdate(DocumentEvent de) {
cmb.showPopup();
cmb.removeAllItems();-------就是这里报错****************
} public void removeUpdate(DocumentEvent de) {} });
} public static void main(String args[]) {
new dd();
}
}总是报错:Attempt to mutate in notification
我查了一下,是因为write lock了,那要如何解锁?如何实现相关操作??
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货