java - 如何计算按钮上的按下次数
问题描述
我正在尝试计算程序中按钮的按下次数。我希望每次按下按钮时它都会改变,以显示用户完成的按下次数。这是我的代码:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*; // needed for listeners
public class PushCounter3 {
public static void main(String[] arg) {
PushGUI myGui = new PushGUI();
}
}
class PushGUI extends JPanel{
private JFrame theWindow;
private int nbPushes;
private JButton myButton;
private JLabel myLabel;
private JPanel myPanel;
PushGUI(){
theWindow = new JFrame("Push Counter that counts!");
theWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
nbPushes = 0;
myButton = new JButton("Push Me!");
myLabel = new JLabel("Pushes: " + Integer.toString(nbPushes));
// let's register the event listener
myButton.addActionListener(new ButtonListener());
myPanel = new JPanel();
theWindow.add(myPanel);
myPanel.add(myButton);
myPanel.add(myLabel);
theWindow.pack();
theWindow.setVisible(true);
}
private class ButtonListener implements ActionListener {
public void actionPerformed (ActionEvent event) {
nbPushes++;
myLabel.setText("Pushes: " + Integer.toString(nbPushes));
}
}
}
一切都显示在屏幕上,但每次单击按钮时都不会更新。
解决方案
将 nbPushes 变量设为静态并查看它是否正确更新
推荐阅读
- actions-on-google - Google Dialogflow 上的“完成您的请求时出错”
- java - 在数组中找到最大值;在 Java 中使用四个线程
- java - 接口中常见默认方法的菱形问题
- mysql - 具有多个可选参数的 MySQL 存储过程
- android - 在查看 [src/nullnull/debug, src/debug/nullnull, src/nullnull, src/debug, src/nullnullDebug] 时找不到 google-services.json
- c# - 递归文件搜索缺少子目录
- algorithm - 计算时间复杂度
- angular - http-server -p 8080 不服务于我的角度应用程序。而 ng serve 确实
- javascript - 如何在动画 amcharts 饼图中显示月份?
- java - 离线保存应用评分