为了账号安全,请及时绑定邮箱和手机立即绑定

单击 JButton 时出现特定颜色时的 JAVA 增量计数器

单击 JButton 时出现特定颜色时的 JAVA 增量计数器

小唯快跑啊 2021-11-17 10:25:23
我正在制作一个程序,用户在其中单击具有默认背景颜色 BLUE 的 JButton。每次用户单击 JButton 时,背景都会在颜色数组中随机循环。每次背景为红色时,JLabel 都会打印出一个递增计数器。我可以让 JButton 在颜色数组中随机循环。当第一个 RED 出现时,计数器增加 1。但每次出现 RED 后,计数器都不会增加。我无法让计数器在初始计数后继续递增。这是按钮的代码:        //label for counter        JLabel lblRedCounter = new JLabel("Red Counter: 00");        lblRedCounter.setBorder(new EmptyBorder(31, 3, 31, 3));        lblRedCounter.setFont(new Font("Tahoma", Font.PLAIN, 30));        lblRedCounter.setOpaque(true);        lblRedCounter.setBackground(Color.LIGHT_GRAY);        panel.add(lblRedCounter);        //button to change background and initiate counter        JButton btnClickMe = new JButton("Click Me");        btnClickMe.setFocusable(false);        btnClickMe.setBorder(new EmptyBorder(33, 47, 33, 47));        btnClickMe.setFont(new Font("Tahoma", Font.PLAIN, 30));        btnClickMe.setBackground(Color.BLUE);        btnClickMe.setForeground(Color.WHITE);        btnClickMe.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent arg0)             {                               //create arraylist of colors                colors = new ArrayList<>();                colors.add(Color.BLUE);                colors.add(Color.RED);                colors.add(Color.GREEN);                colors.add(Color.ORANGE);                colors.add(Color.MAGENTA);                //creates random object                Random rand = new Random();                //random object cycles through 5 places to match array length                int num = rand.nextInt(5);                //cycles randomly through array of colors                btnClickMe.setBackground(colors.get(num));                }            }        });
查看完整描述

1 回答

?
慕斯709654

TA贡献1840条经验 获得超5个赞

您需要将 int 变量移到 actionPerfomed 方法之外,并使其成为实例变量(或静态变量,但通常不推荐)。现在,每次调用 actionPerformed 时,您都会用 0 初始化一个新变量。


查看完整回答
反对 回复 2021-11-17
  • 1 回答
  • 0 关注
  • 118 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信