2013-05-24 2 views
0

У меня странная проблема, когда я пытаюсь установить текст в GWT Widget (My ide is Eclipse Juno).Приращение целого числа перед использованием в качестве текста для виджета

В этом случае: У меня есть класс с геттером, который возвращает целое число int myClass.getValue(); Я хочу использовать это значение увеличивается на 1, чтобы установить текст в виджете, Я пытался в нескольких образом не найти решение:

myWidget.setText(""+1+myClass.getValue()); 
myWidget.setText(""+(int)(1+myClass.getValue())); 
myWidget.setText(Integer.toString(1+myClass.getValue())); 
. 
. 
. 

После компиляции в результате веб-приложение текст всегда» "

1value 

Я уверен, что есть способ сделать это, но я стараюсь с некоторого времени, и я не понял, :(

+0

это очень странно. Пробовали ли вы поместить '1 + myClass.getValue()' в качестве локальной переменной, а затем 'setText (" "+ localVariable)? – ddmps

+0

Согласен, это странно. Только первый пример должен давать такой результат - с учетом вызова скобки/функции вы должны получать инкрементные версии в других экземплярах. Лично я предпочитаю третью версию в большинстве случаев (во-первых, для определенных значений могут быть кешированные строки, начиная с -1, 0, 1, 10 .... Целый класс обычно кэширует экземпляры класса-оболочки до 100, например.) –

ответ

1

Попробуйте

myWidgetsetText(Integer.toString(1+getValue())); 
+0

setText аргумент - это String :( – willygroup

+0

Изменен ответ. Этот файл работает так, как вы хотите. –

0

Спасибо всем. я не знаю, почему другие способы не работают (я уверен, что в прошлом некоторые сделали работу для меня), но в конце концов я использовал этот трюк:

Где-то
public static int incrementByOne(int value) 
{ 
    int result = value; 
    result++; 
    return result; 
} 

тогда:

myWidget.setText(""+Somewhere.incrementByOne(myClass.getValue())); 

LOL, простейшие решения:

myWidget.setText(myClass.getValue()-(-1)); 
Смежные вопросы