2014-07-24 4 views
0

У меня есть JTextField, и я хочу увеличить значение, добавив один (+1) каждый раз, когда нажата кнопка JButton.Как увеличить значение в JTextField

public void addtoj() 
{ 
    String m = jTextField1.getText(); 
    int addone = Integer.valueOf(s); 
    s = Integer.toString(++addone); 
    jTextField1.setText(m); 
} 
+1

Я думаю, вы получаете путать вашим 'M' и 's'. – csmckelvey

+1

Используйте более описательные имена переменных, чтобы избежать таких проблем. –

+0

Почему бы вам не попробовать «принимать» ответы от своих предыдущих вопросов, прежде чем задавать новый вопрос. Разве вы не знаете основную концепцию «спасибо», когда кто-то проводит время, чтобы помочь вам? – camickr

ответ

3

Если я вас понимаю, то это должно быть s не m, как так -

String s = jTextField1.getText(); // <-- s not m. 
int addone = Integer.valueOf(s); 
s = Integer.toString(++addone); 
jTextField1.setText(s); // <-- s not m. 

Или, может быть, это должно быть,

String m = jTextField1.getText(); 
int addone = Integer.valueOf(m); 
jTextField1.setText(String.valueOf(addone+1)); 
+0

спасибо за вашу помощь, теперь она работает – mohza

+0

@mohza Если ваша проблема решена, пожалуйста, [принимайте ответ] (http: // meta.stackexchange.com/a/5235/243725). –

3
public void addtoj() 
{ 
    String text = jTextField1.getText();   

    int value = Integer.parseInt(text); 

    value = value + 1;  

    text = Integer.toString(value); 

    jTextField1.setText(text); 
} 

Или

public void addtoj() 
{ 
    jTextField1.setText(
     Integer.toString(Integer.parseInt(jTextField1.getText()) + 1)); 
} 
0

Я не знаю, если я вас понимаю хорошо, если я не прошу простить меня сделать это: в ActionListenerclass написать это:

float s = (float) Double.parseDouble(theTextField.getText()); 
int counter = 0; 
counter++; 
theTextField.setText("" + counter); 
Смежные вопросы