Java 单击计数器将继续重置为0
这个程序应该计算鼠标点击次数,但它只计算第一次。代码并不复杂,但我不明白为什么它只计算第一次点击Java 单击计数器将继续重置为0,java,swing,user-interface,counter,Java,Swing,User Interface,Counter,这个程序应该计算鼠标点击次数,但它只计算第一次。代码并不复杂,但我不明白为什么它只计算第一次点击 import javax.swing.*; import java.awt.*; import java.awt.event.*; public class swing { private JLabel label; public swing() { JFrame frame = new JFrame("exemple"); f
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class swing {
private JLabel label;
public swing() {
JFrame frame = new JFrame("exemple");
frame.setBounds(200, 200, 200, 200);
JButton button = new JButton("clic clic");
button.addActionListener(new MyActionListener());
label = new JLabel("0");
JPanel pane = new JPanel();
pane.add(button);
pane.add(label);
frame.getContentPane().add(pane,
BorderLayout.CENTER);
frame.show();
}
private class MyActionListener implements ActionListener {
public void actionPerformed(ActionEvent event) {
int count = 0;
count++;
label.setText("Number of Mouse Clicks = "+ count);
}
}
public static void main(String[] args) {
new swing();
}
}
感谢用户WJS提供了答案,我只需将count=0移到actionPerformed方法之外,但移到listener类内部。每次单击时,您都将
计数器再次设置为零,然后显示递增的值,每次单击后计数器的值都重置为零
您需要将计数移到actionPerformed
int count = 0;
private class MyActionListener implements ActionListener {
public void actionPerformed(ActionEvent event) {
count++;
label.setText("Number of Mouse Clicks = " + count);
}
}
您总是将“计数”设置回0。将您的count=0
移到actionPerformed
方法之外,但移到侦听器类内部。@WJS非常感谢您!成功了。如果你愿意,你可以把评论作为答案,我会把它标记为解决方案。不。别担心。此外,@camickr比我领先了几秒钟。英雄联盟