【问题标题】:how to take away a number each time i click JButton每次单击 JButton 时如何带走一个数字
【发布时间】:2015-09-02 04:39:57
【问题描述】:

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

【问题讨论】:

  • 1) 使用逻辑一致的形式缩进代码行和块。缩进是为了让代码流更容易理解! 2) 源代码中的一个空白行是永远需要的。 { 之后或 } 之前的空行通常也是多余的。

标签: java swing actionlistener


【解决方案1】:

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

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);
    }
});

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2016-11-20
      • 2016-08-02
      • 1970-01-01
      • 1970-01-01
      • 2016-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多