2012-06-21 31 views
0

我正在使用swing正在寫一個簡單的貸款計算器。我使用DecimalFormat確保以我指定的格式捕獲輸入####。##爲我的JFormattedTextField。指定JFormattedTextField a Float

public static void main(String[] args) { 
    JFormattedTextField loanAmountField = new JFormattedTextField(new DecimalFormat("####.##")); 
    JFormattedTextField interestRateField = new JFormattedTextField(new DecimalFormat("####.##")); 
    JFormattedTextField yearField = new JFormattedTextField(new DecimalFormat("####.##")); 
    JFormattedTextField monthlyPaymentField = new JFormattedTextField(new DecimalFormat("####.##")); 
} 

當用戶按我的「計算」按鈕,它會計算並顯示monthlyPaymentField。

爲了測試我的程序是否會正確顯示,我試着指定monthlyPaymentField的值爲12.22,但是我收到一個錯誤,說明monthlyPaymentField應該聲明爲double。

class CalculateListener implements ActionListener { 
public CalculateListener (JFormattedTextField loanAmountField, JFormattedTextField  monthlyPaymentField, JFormattedTextField interestRateField, JFormattedTextField yearField, int monthlyTest) 
{ 
    this.interestRateField = interestRateField; 
    this.yearField = yearField; 
    this.loanAmountField = loanAmountField; 
    this.monthlyPaymentField = monthlyPaymentField; 
    this.monthlyTest = monthlyTest; 
} 

public void actionPerformed(ActionEvent event){ 

    monthlyPaymentField = 12.22; 

    } 

} 

我怎麼去,這樣我仍然可以使用我的JFormattedTextField與DecimalFormat的,但仍然可以顯示在我的monthlyPaymentField一個浮動?

回答

2

您可以使用setValue方法;

monthlyPaymentField.setValue(new Double(12.22)); 
+0

@Max你們知道爲什麼它不在我的(swing)GUI上顯示新的值嗎? – Huy

+0

請發佈更多信息(代碼,跟蹤等)。 – Angel