最近开始学习Java,我想创建一个计算点击次数的应用程序



在此处输入图像描述我想创建一个计算点击次数的应用程序,当我添加第二个按钮时,它会同时计算两行,而不是只计算1行,例如,如果我点击第一个按钮,它应该只计算第一行,也计算第二个按键。但无论我点击上的哪个按钮,它都会计算两行

给我代码:

package com.company;
import javax.swing.BorderFactory;
import javax.swing.*;
import javax.swing.JPanel;
import javax.swing.JFrame;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JLabel;

public class Main implements ActionListener {
private int number2 = 0;
private int count = 0;
private JLabel label;
private JLabel label1;
private JFrame frame;
private JPanel panel;
public Main(){
frame = new JFrame();

JButton button = new JButton("1st Player");
JButton button1 = new JButton("2nd Player");
button.addActionListener(this);
button1.addActionListener(this);

label = new JLabel("1. Number of clicks: 0 ");
label1 = new JLabel("2. Number of clicks: 0 ");

panel = new JPanel();
panel.setBorder(BorderFactory.createEmptyBorder(50,50,10,50));
panel.setLayout(new GridLayout(0,2 ));
panel.add(button);
panel.add(label);
panel.add(button1);
panel.add(label1);
frame.add(panel, BorderLayout.CENTER);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setTitle("My first GUI");
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
new Main();
}
@Override
public void actionPerformed(ActionEvent e){
count++;
number2++;
label.setText("1. Number of clicks: " + count);
label1.setText("2. Number of clicks: " + number2);
}
}

感谢

为两个按钮调用方法actionPerformed,它同时增加两个计数器。如果想要有两个独立的计数器,则需要有两个不同的ActionListener,每个ActionListener都会增加右侧按钮的计数器。

最新更新