当前位置 : 主页 > 编程语言 > java >

public PlayMouse() { frame = new JFrame("打地鼠"); frame.setBounds(300, 300, 600, 600); frame.

来源:互联网 收集:自由互联 发布时间:2021-06-28
PlayMouse.java程序 package com.briup.day25;import java.awt.BorderLayout;import java.awt.FlowLayout;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.ImageIcon;import javax
PlayMouse.java程序
package com.briup.day25;

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
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 implements ActionListener {

	private JFrame frame;
	private JPanel north, center;
	private JComboBox
 
   box;
	private JLabel timeLabel, timeValueLabel, gradeLabel, gradeValueLabel;
	private JButton startButton;
	private JButton[] btns;
	private ImageIcon img;
	private Timer oldTimer;
	private Timer newTimer;
	private Timer mouseTime;
	private int level;
	private int old_index;
	private String gameTime;
	private boolean isNew = false;

	public PlayMouse() {
		frame = new JFrame("打地鼠");
		frame.setBounds(300, 300, 600, 600);
		frame.setResizable(false);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		initComponent();
		frame.setVisible(true);
	}

	public void initComponent() {
		// 初始化其他组件
		north = new JPanel();
		center = new JPanel();
		box = new JComboBox
  
   (); box.addItem("初级"); box.addItem("中极"); box.addItem("高级"); // timeLabel,timeValueLabel,gradeLabel,gradeValueLabel; gameTime = "10"; timeLabel = new JLabel("time: "); timeValueLabel = new JLabel(gameTime); gradeLabel = new JLabel("grade: "); gradeValueLabel = new JLabel("0"); startButton = new JButton("Start"); btns = new JButton[9]; for (int i = 0; i < btns.length; i++) { btns[i] = new JButton(); } setEnabledForBtns(false); img = new ImageIcon("./src/com/briup/day25/c.jpg"); // 设置布局管理器,并添加其他组件 frame.setLayout(new BorderLayout()); frame.add(north, BorderLayout.NORTH); frame.add(center); north.setLayout(new FlowLayout()); north.add(box); north.add(timeLabel); north.add(timeValueLabel); north.add(gradeLabel); north.add(gradeValueLabel); north.add(startButton); center.setLayout(new GridLayout(3, 3)); for (int i = 0; i < btns.length; i++) { center.add(btns[i]); } // 添加监听器 for (int i = 0; i < btns.length; i++) { btns[i].addActionListener(this); } box.addActionListener(this); startButton.addActionListener(this); oldTimer = new Timer(1000, new ActionListener() { @Override public void actionPerformed(ActionEvent e) { String text = timeValueLabel.getText(); int t = Integer.parseInt(text); timeValueLabel.setText(--t + ""); if (t < 0) { timeValueLabel.setText(++t + ""); oldTimer.stop(); startButton.setEnabled(true); mouseTime.stop(); box.setEnabled(true); setEnabledForBtns(false); btns[old_index].setIcon(null); } } }); newTimer = new Timer(1000, new ActionListener() { @Override public void actionPerformed(ActionEvent e) { String text = timeValueLabel.getText(); int t = Integer.parseInt(text); timeValueLabel.setText(--t + ""); if (t < 0) { timeValueLabel.setText(++t + ""); newTimer.stop(); startButton.setEnabled(true); mouseTime.stop(); box.setEnabled(true); setEnabledForBtns(false); btns[old_index].setIcon(null); } } }); } public static void main(String[] args) { new PlayMouse(); } @Override public void actionPerformed(ActionEvent e) { Object source = e.getSource(); if (source == startButton) { startButton.setEnabled(false); setEnabledForBtns(true); oldTimer.start(); timeValueLabel.setText(gameTime); box.setEnabled(false); gradeValueLabel.setText("0"); int boxIndex = box.getSelectedIndex(); if (boxIndex == 0) { level = 1000; } else if (boxIndex == 1) { level = 700; } else if (boxIndex == 2) { level = 200; } mouseTime = new Timer(level, new ActionListener() { @Override public void actionPerformed(ActionEvent e) { btns[old_index].setIcon(null); int index = (int) (Math.random() * 9); btns[index].setIcon(img); old_index = index; } }); mouseTime.start(); } else if(source==box){ } else { if(isNew == false){ String text = gradeValueLabel.getText(); int cent = Integer.parseInt(text); JButton btn = (JButton) source; if (btn.getIcon() != null) { gradeValueLabel.setText(++cent + ""); btn.setIcon(null); oldTimer.stop(); newTimer.start(); isNew = true; } } if(isNew == true){ String text = gradeValueLabel.getText(); int cent = Integer.parseInt(text); JButton btn = (JButton) source; if (btn.getIcon() != null) { gradeValueLabel.setText(++cent + ""); btn.setIcon(null); newTimer.stop(); oldTimer.start(); isNew = false; } } } } public void setEnabledForBtns(boolean flag) { for (int i = 0; i < btns.length; i++) { btns[i].setEnabled(flag); } } }
  
 
网友评论