首页 > 解决方案 > 如何计算按钮上的按下次数

问题描述

我正在尝试计算程序中按钮的按下次数。我希望每次按下按钮时它都会改变,以显示用户完成的按下次数。这是我的代码:

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));
      }
}
}

一切都显示在屏幕上,但每次单击按钮时都不会更新。

标签: javauser-interface

解决方案


将 nbPushes 变量设为静态并查看它是否正确更新


推荐阅读