所以基本上我需要能够点击一个按钮,每次点击它都会从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。我已经尝试了很多方法来完成这项工作,但我觉得我错过了一些至关重要的东西。我试图谷歌这个基本的,基本的问题,但我似乎无法正确说出它。
答案 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;