2016-04-10 7 views
1
if(e.getSource()== quater){ 
    totalTemp = Double.parseDouble(total.getText() + .25); 
    String total2 = Double.toString(totalTemp); 
    total.setText(total2); 
} 

Я пытаюсь изменить общую сумму JLabel, чтобы добавить 25 центов к ней, когда нажата кнопка Quater. Я продолжаю получать эти длинные ошибки и ничего не происходит.Изменение JLabel при нажатии кнопки

+1

LOL Действительно? Вы не собираетесь показывать нам «длинные ошибки»? Если вы не можете понять это, глядя на ошибки, как мы должны ничего не делать, чтобы уйти? – pczeus

+0

'totalTemp = Double.parseDouble (total.getText()) + 0.25;' Разбор перед добавлением. – bradimus

+0

Создали ли вы объект ActionListener и добавили его в свой объект Button? Если да, можете ли вы разместить больше кода, где вы это делаете? Нам будет полезно помочь вам лучше. Если нет, то сделайте некоторое исследование, как это сделать, и в случае, если вы все еще сталкиваетесь с проблемами, разместите здесь код в своем вопросе. –

ответ

1

ну, во-первых, вы пытаетесь добавить двойное значение к строке, не произойдет. Что вам нужно, на основе коды, заключается в следующем:

if(e.getSource()== quarter){ 
     partialTemp = Double.parseDouble(total.getText()); 
     totalTemp = partialTemp + 0.25; 
     String total2 = Double.toString(totalTemp); 
     total.setText(total2); 
    } 

Это будет работать, поверьте мне, ми амего

0

Ошибки вы получаете должна быть NumberFormatException. Попробуйте свой код таким образом.

if(evt.getSource()== quater){ 
double totalTemp = Double.parseDouble(total.getText())+ .25; 
String total2 = Double.toString(totalTemp); 
total.setText(total2); 
} 
0

попробовать это. вы будете ваш ответ

totalTemp = (Double.parseDouble(total.getText()) + 00.25); 
total.setText(Double.toString(totalTemp)); 

Вместо

totalTemp = Double.parseDouble(total.getText() + .25); //if getText() contains "abc" returns "abc.25" 

если total.getText() ="abc" то это станет "abc.25" которые поднимают NumberFormatException.

0

С вашим текущим кодом вы добавляете double в конец String. Например, если total.getText() вернул «1.2», то "1.2" + 0.25 будет равен "1.20.25", который не может быть проанализирован как double, и поэтому вызывается NumberFormatException.

Сначала необходимо разобрать String, а затем добавить double.

double totalTemp = Double.parseDouble(total.getText()) + 0.25;