有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

对象Java“按下按钮”,每次按下时具有不同的操作

我想编程一个小分数计数器。我实现了两个按钮,按下时只返回一个东西。我希望每次按下时都出现一个新的分数

下面显示了我已经编写的代码:

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;

public class MyFrame extends JFrame implements ActionListener{
    
    
    JButton button;
    JButton button2;
    
    int clicked1Count = 0;
    int clicked2Count = 0;
    
    
    
Thank you in advance.

共 (2) 个答案

  1. # 1 楼答案

    您的问题是您的基础设计基本上不存在。如果你没有花大量的时间预先思考如何为你想处理的事情建模,你最终总会得到过于复杂的意大利面代码

    例如:

    • 将“要增加的数量”放入数组中。然后,您的clickCount将用作该数组中的索引
    • 使用每个按钮的一个侦听器
    • 与其使用保存值的原始int值,不如引入一个类似Player的类,该类具有setScore方法。或者更进一步的OOP:player类得到一个方法increaseScore()。这种方法将分数如何增加的知识分离出来

    换句话说:创建有用的抽象。这就是好的OOP的组成部分。而不是试图把所有的代码都塞进一个动作监听器

  2. # 2 楼答案

    您可以创建两个变量,如中所示

    clicked1Count = 0
    clicked2Count = 0
    

    在您执行的操作中,根据您的需要增加计数器。 然后打印出来

    if (ae.getSource()==button){
        clicked1Count++;
    }
    else if (ae.getSource()==button2) {
        clicked2Count++;
    }