按钮中的鼠标侦听器以更改标签中的点击次数

Mouse listener in button to change click count in label

如何把 MouseListener 放在 JButton 中,这样 JLabel 就变成了第一个。单击按钮的次数?

我使用鼠标侦听器创建了一个带有按钮和标签的框架。框架的标签显示没有。单击按钮的次数。 我尝试使用以下程序:

import javax.swing.*;
import java.awt.event.*;
class Bevent implements ActionListener
{
JFrame jf=new JFrame("BUTTON EVENT");
JButton jb=new JButton("CLICK !");
JLabel jl=new JLabel("CLicked 0 times");
int count=0;
Bevent()
{
jf.setSize(500,500);
jf.setLayout(null);
jf.setVisible(true);
jf.setDefaultCloseOperation(jf.EXIT_ON_CLOSE);
jb.setBounds(100,100,100,30);
jf.add(jb);
jl.setBounds(100,200,200,30);
jf.add(jl);
jb.addActionListener(this);
}
public static void main(String arg[])
{
new Bevent();
}
public void actionPerformed(ActionEvent ae){
count=count+1;
jl.setText("CLicked "+count+" times");
jf.add(jl);
}
}

是否是问题的有效代码。

这是一种方法。

import javax.swing.*;
import java.awt.event.*;
import java.awt.*;

public class ButtonClick{
    JFrame frame;
    JLabel label;
    JButton button;
    int count = 1;
    
    public static void main(String[] args){
        ButtonClick gui = new ButtonClick();
        gui.go();
    }

    public void go(){
        frame = new JFrame();

        button = new JButton("Click me");
        button.addActionListener(new ClickListener());

        label = new JLabel("Clicked 0 times");

        frame.getContentPane().add(BorderLayout.CENTER, button);
        frame.getContentPane().add(BorderLayout.EAST, label);

        frame.setSize(400,300);
        frame.setVisible(true);
    }

    class ClickListener implements ActionListener{
        public void actionPerformed(ActionEvent event){
            label.setText("Clicked " + count + " times");
            count += 1;
        }
    }
}

在上面的代码中,JButton 有一个 ClickListener,它将 JLabel 的文本设置为 JButton 的次数(实例变量计数)被按下了。