2013-03-14 63 views
0

有關完整代碼,請http://ideone.com/7XHxSmJava不兼容的類型;的JTextField和整數

我試圖用一個JTextField然後拉字符串值,然後將值解析成一個整數。一旦解析,我需要將它們相乘。稍後,我將把它們全部加起來,加上&乘以獲得額外的金額,然後除以得到一個數字。

一旦你看到我的代碼,你就會明白。我知道這有點神祕,但代碼會解釋。

我不知道發生了什麼,因爲我從JTextField中提取值,然後將其轉換爲整數,但Java拒絕轉換它。

widthWall2 = Integer.parseInteger(wall2Width.getText()); 
heighthWall2 = Integer.parseInteger(wall2Heighth.getText()); 
//wall2Area = widthWall2*heighthWall2; 
wall2Area = Integer.valueOf(wall2Width.getText()) * integer.valueOf(wall2Heighth.getText()); 
+0

'wall2Area'是什麼類型? – Mordechai 2013-03-14 02:18:37

+0

我不確定第三行的目的是什麼,但無論如何都存在錯誤。 Java告訴你什麼?什麼是錯誤,它在哪裏抱怨? – MadProgrammer 2013-03-14 02:18:47

+0

Midterm2.java:214:找不到符號 符號:方法parseInteger(java.lang.String中) 位置:類java.lang.Integer \t \t \t \t \t \t widthWall2 = Integer.parseInteger(wall2Width.getText()) ; – Mastertexan 2013-03-14 02:19:30

回答

1

JTextFieldInteger是不兼容的類型,以便一個不能被分配給其他的。你想設置'JTextField的內容。更換

wall2Area = Integer.valueOf(wall2Width.getText()) * 
       integer.valueOf(wall2Heighth.getText()); 

wall2Area.setText(Integer.toString(Integer.valueOf(wall2Width.getText()) * Integer.valueOf(wall2Heighth.getText()))); 

而且,與

Integer.parseInt(wall2Width.getText()) 

更換

Integer.parseInteger(wall2Width.getText()) 

經常檢查docs

+0

我現在意識到了我的問題。是parseInt是我需要使用的,但wall2Area是JTextField,我需要使用int版本,它是areaWall2。是的,我知道他們太相似了,所以不要讓我太傷心! – Mastertexan 2013-03-14 02:23:27

1

正如標題,我明白的問題是:

wall2Area = Integer.valueOf(wall2Width.getText()) * 
      integer.valueOf(wall2Heighth.getText()); 

如果你想分配Integer值到JTextField。將其更改爲:

wall2Area.setText(Integer.valueOf(wall2Width.getText()) * 
      integer.valueOf(wall2Heighth.getText()));