我正在制作一个程序,用户在其中单击具有默认背景颜色 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));
}
}
});
慕斯709654
相关分类