每次点击JButton时如何取走一个数字

时间:2015-09-02 04:39:58

标签: java swing actionlistener

所以基本上我需要能够点击一个按钮,每次点击它都会从100点拿掉10点所以10点击后它应该显示0。

    public class numberclass{
    public String numbermethod() {
    int number = 100;

    String result = Integer.toString(number);

    return result;
    }
}

//part of swing class below

String numberString = numberclass.numbermethod();

button.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {


            textArea.append(numberString);

             }
        }
    });

显然,它只是在点击时在文本字段中显示100。我已经尝试了很多方法来完成这项工作,但我觉得我错过了一些至关重要的东西。我试图谷歌这个基本的,基本的问题,但我似乎无法正确说出它。

2 个答案:

答案 0 :(得分:2)

首先从某事物中减去某些东西。现在,您可以通过多种方式实现这一目标,但让我们从使用方法开始并维护类封装......

public class NumberClass {

    private int number = 100;

    public void update() {
        number -= 10;
    }

    public String numbermethod() {
        String result = Integer.toString(number);
        return result;
    }
}

然后更新要显示的文本

button.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        numberClass.update();
        String numberString = numberClass.numbermethod();           
        textArea.append(numberString);
    }
});

答案 1 :(得分:0)

你numbermethod()有缺陷。您将数字设置为100并将该值(100)作为字符串返回。它永远不会是" 100"!将int number = 100;移到方法(成员变量)

之外

在你的按钮监听器中添加:

number -= 10; // or number = number - 10;