【问题标题】:Increment a value when JButton Is Pressed按下 JButton 时增加一个值
【发布时间】:2014-01-12 12:58:03
【问题描述】:

我已经尝试学习 java 大约一个星期了,但我遇到了一个错误。这应该在每次按下按钮时将变量“clicks”增加 1,但我不断收到相同的错误:

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


public class Testclass {

    private JFrame frame;
    private JPanel panel;
    private JButton button1;
    private JLabel label;


    public Testclass () {

        gui();

    }

    public void gui () { 

        final int clicks = 0;

        frame = new JFrame("Test");
        frame.setVisible(true);
        frame.setSize(600,400);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        panel = new JPanel();
        panel.setBackground(Color.cyan);

        button1 = new JButton("Test");
        label = new JLabel("Button Click Count: ");

        button1.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {

                clicks++;
                label.setText("Click Count: " +clicks);

            }


        });

        panel.add(label);
        panel.add(button1);

        frame.add(panel);



    }

    public static void main (String[] args) {

        new Testclass();


    }

}

它在第 42 行一直给我一个错误,其中“clicks”增加了“Multiple Markers at this line” 任何帮助表示赞赏。谢谢,杰克

【问题讨论】:

  • “它在第 42 行一直给我一个错误..” Douglas Adams 对!

标签: java swing events awt jbutton


【解决方案1】:
  final int clicks = 0;

clicks 设为实例成员。现在它是最终的,你不能增加它。

如果您在当前位置删除final,您将无法访问actionPerformed,因此将其设为实例成员。

public class Testclass {

   private int clicks = 0;

【讨论】:

    【解决方案2】:

    声明clicks为实例变量,因为你不能改变final变量。

    阅读有关varibles in javafinal modifier 的更多信息。

    【讨论】:

      【解决方案3】:

      final 是声明变量是常量。

      您必须删除final 并设置publicprivate。默认情况下,如果您不设置任何内容,它将是private。此外,您必须将其声明为类的成员。

      默认情况下,eclipse 建议您将变量声明为final,但很多时候这是错误的。

      【讨论】:

        【解决方案4】:
        final int clicks = 0
        

        最终变量值不能更改,因此请将您的变量设置为 publicprivate 这取决于你的需要

        private int clicks =0
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-04-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-12-17
          • 2023-03-05
          • 1970-01-01
          相关资源
          最近更新 更多