Java不兼容的类型; JTextField和Integer

时间:2013-03-14 02:15:25

标签: java swing integer jtextfield

有关完整代码,请转到http://ideone.com/7XHxSm

我正在尝试使用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());

2 个答案:

答案 0 :(得分: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.parseInteger(wall2Width.getText())

Integer.parseInt(wall2Width.getText())

请务必查看docs

答案 1 :(得分:1)

截至标题,我理解问题是:

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

您尝试将Integer值分配给JTextField的位置。将其更改为:

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