package com.briup.demo.xiangmu;
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.Timer;
public class PlayMouse {
private JFrame frame;
private JPanel northPanel,centerPanel;
private JComboBox<String> box;
private JLabel timeLable,timeValue,centLable,centValue;
private JButton startBtn;
private JButton[] btns;
public PlayMouse() {
JFrame jframe = new JFrame("打地鼠");
northPanel = new JPanel();
centerPanel = new JPanel();
centerPanel.setLayout(new GridLayout(3,3));
box = new JComboBox<>(new String[] {"初级","中级","高级"});
timeLable = new JLabel("time:");
timeValue = new JLabel("10");
centLable = new JLabel("cent:");
centValue = new JLabel("0");
startBtn = new JButton("开始");
btns = new JButton[9];
for(int i=0;i<btns.length;i++) {
btns[i] = new JButton();
centerPanel.add(btns[i]);
btns[i].setIcon(new ImageIcon("src/hole.png"));
}
northPanel.add(box);
northPanel.add(timeLable);
northPanel.add(timeValue);
northPanel.add(centLable);
northPanel.add(centValue);
northPanel.add(startBtn);
jframe.add(northPanel,BorderLayout.NORTH);
jframe.add(centerPanel,BorderLayout.CENTER);
Timer timer = new Timer(1000,new ActionListener() {
private int i;
@Override
public void actionPerformed(ActionEvent e) {
//切换组件的背景图片
//创建数组存储背景图路径
String[] images = {"src/mouse.png",};
//随机产生下标
Random random = new Random();
int index = random.nextInt(images.length);
btns[i].setIcon(new ImageIcon(images[index]));
}
});
//组件添加监听器
startBtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//用户点击按钮,启动定时器
timer.start();
//按钮状态为不可用
startBtn.setEnabled(false);
}
});
jframe.setSize(400,400);
jframe.setResizable(false);
jframe.setLocationRelativeTo(null);
jframe.setVisible(true);
jframe.setDefaultCloseOperation(3);
}
public static void main(String[] args) {
new PlayMouse();
}
}
这里的数组按钮怎么添加点击事件换成鼠露头的图片?希望有高人能完善代码!
1.PlayMouse类 实现ActionListener接口;
2.38行后面加一行代码
btns[i].addActionListener(this);