我的程序應該根據用戶想要獲得的產品數量打印一個事務的價格,JFormatedTextField上的用戶類型和documentListener通知更改,但是當用戶刪除程序死亡的漏洞。 'JFormatedTextField DocumentListener trows java.lang.IllegalStateException
final JFormattedTextField quantityTextField = new JFormattedTextField((Integer) null);
//Check for changes.
quantityTextField.getDocument().addDocumentListener(new DocumentListener() {
@Override
public void changedUpdate(DocumentEvent e) {
if(quantityTextField.getText()!=null){
totalPrice = (Integer.valueOf(quantityTextField.getText()).intValue())* unitaryPrice ;
priceToShow.setText(""+totalPrice);
}else{
totalPrice=0;
quantityTextField.setText("0");
}
}
@Override
public void removeUpdate(DocumentEvent e) { //Here is the problem the text on the field isnt equals to "" or null (when is empty)
if(quantityTextField.getText()!=null && quantityTextField.getText()!=""){
totalPrice = (Integer.valueOf(cuantityTextField.getText()).intValue())* unitaryPrice ;
priceToShow.setText(""+totalPrice);
}else{
totalPrice=0;
quantityTextField.setText("0");
}
}
@Override
public void insertUpdate(DocumentEvent e) {
System.out.println("\n++ Insert");
totalPrice = (Integer.valueOf(quantityTextField.getText()).intValue())* unitaryPrice ;
priceToShow.setText(""+totalPrice);
}
});
當用戶之後其空errase編譯器trows java.lang.IllegalStateException,用於轉換 「」 成int值。 removeUpdate監聽器中的if子句應該在文本爲空或空值時處理,並將總價格設置爲0,但條件永遠達不到,我不知道爲什麼。
請大家幫忙。
你可以用」 t修改Documentalistener中的文本組件。 – MadProgrammer