是否有人可以幫助我如何在運行時將文本設置爲空JTextFields, 我希望我的文本字段在等於「13」的長度時爲空。 它會要求用戶輸入文本(代碼的大小爲13 max),那麼對於另一個進程,輸入將更改爲null。如何在運行時將文本設置爲null的JTextFields?
code = new JextField(15);
code.setForeground(new Color(30, 144, 255));
code.setFont(new Font("Tahoma", Font.PLAIN, 16));
code.setHorizontalAlignment(SwingConstants.CENTER);
code.setBounds(351, 76, 251, 38);
panel_2.add(code);
code.getDocument().addDocumentListener(new DocumentListener() {
public void changedUpdate(DocumentEvent e) {
test();
}
public void removeUpdate(DocumentEvent e) {
test();
}
public void insertUpdate(DocumentEvent e) {
test();
}
public void test() {
if(code.getText().length()==13){
code.setText("");
}
}
我得到的NEX錯誤:
java.lang.IllegalStateException: Attempt to mutate in notification
at javax.swing.text.AbstractDocument.writeLock(Unknown Source)
at javax.swing.text.AbstractDocument.replace(Unknown Source)
at javax.swing.text.JTextComponent.setText(Unknown Source)