2013-03-14 3 views
0

Для полного кода, перейдите http://ideone.com/7XHxSmНесовместимые типы Java; JTextField и Integer

Я пытаюсь использовать 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

+0

Я не уверен, для чего предназначена третья строка, но в любом случае есть опечатка. Что говорит вам Java? Какая ошибка и где она жалуется? – MadProgrammer

+0

Midterm2.java:214: не может найти символ символа: метод parseInteger (java.lang.String) местоположения: класс java.lang.Integer \t \t \t \t \t \t widthWall2 = Integer.parseInteger (wall2Width.getText()) ; – Mastertexan

ответ

1

JTextField и Integer несовместимые типы поэтому не могут быть отнесены к другой. Вы хотите установить контент `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.

+0

Я понял свою проблему сейчас. Да parseInt - это то, что мне нужно было использовать, но wall2Area - это JTextField, и мне нужно было использовать версию int, которая является areaWall2. Да, я знаю, что они слишком похожи, поэтому не слишком сильно меня обманывайте! – Mastertexan

1

Как названия, я понимаю, проблема:

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

Где вы пытаетесь присвоить Integer значение в JTextField. Измените его на:

wall2Area.setText(Integer.valueOf(wall2Width.getText()) * 
      integer.valueOf(wall2Heighth.getText())); 
Смежные вопросы