java - 每次单击 JButton 时如何将值增加 1?

标签 java swing jbutton actionlistener jlabel

我刚刚了解了 ActionListener,我的任务是使用与 JLabel 关联的 JButton 创建一个简单的应用程序int 每次被点击时值增加 1。这是我的编码:

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

class ButtonPanel2 extends JPanel implements ActionListener {

JButton button2;
JLabel secondLabel;

int i = 1;
int total = 0;

ButtonPanel2()
{
    button2 = new JButton("Push");
    add(button2);

    button2.addActionListener(this);

    secondLabel = new JLabel("Button pushes: " + total);
    add(secondLabel);
}

public void actionPerformed(ActionEvent e)
{
    total += i;
}
}

和驱动类:

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

class TestButtonPanel2 {

public static void main(String [] args)
{
    JFrame buttonFrame2 = new JFrame("Button Panel 2");

    ButtonPanel2 panel2 = new ButtonPanel2();

    buttonFrame2.add(panel2);
    buttonFrame2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    buttonFrame2.setSize(400 , 400);
    buttonFrame2.setVisible(true);
}
}

提前致谢! :)

最佳答案

ActionListener 中,像这样更新 GUI:

public void actionPerformed(ActionEvent e)
{
    total += i;
    secondLabel.setText("Button pushes: " + total);
}

关于java - 每次单击 JButton 时如何将值增加 1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24741283/

相关文章:

java - 将多个 Intent 用于不同的 Activity 和最终的电子邮件 Intent

java - 从按钮/鼠标释放调用 Java AbstractAction

java - 将 Swing 计时器的操作监听器中的 System.currentTimeMillis() 分配回未初始化的 long 变量

java - 使用按钮将 arraylist 元素添加到文本字段

servicemix 上的 java.lang.ArrayStoreException : sun. reflect.annotation.TypeNotPresentExceptionProxy

java - 如何从父类而不是父类(super class)调用重写的方法?

java - 当线程完成/完成时在 Swing 中获取通知

java - JOptionPane 传递自定义按钮

java - .png 图标未在 JFrame 窗口中加载

java - 更改微调项数据时更新 recyclerview 单行数据