简单猜数字界面版源码

上传人:第*** 文档编号:34061119 上传时间:2018-02-20 格式:DOC 页数:9 大小:62.50KB
返回 下载 相关 举报
简单猜数字界面版源码_第1页
第1页 / 共9页
简单猜数字界面版源码_第2页
第2页 / 共9页
简单猜数字界面版源码_第3页
第3页 / 共9页
简单猜数字界面版源码_第4页
第4页 / 共9页
简单猜数字界面版源码_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《简单猜数字界面版源码》由会员分享,可在线阅读,更多相关《简单猜数字界面版源码(9页珍藏版)》请在金锄头文库上搜索。

1、package com.game.caishuzi;import java.awt.Button;import java.awt.Color;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.Random;import java.util.Scanner;import java.util.Timer;import java.util.TimerTask;import javax.swing.JFrame;import javax.swing.JLabel;import

2、javax.swing.JOptionPane;import javax.swing.JTextField;public class Window extends JFrame/* */private static final long serialVersionUID = 1L;private static int num;private static String outtime;private static boolean waits = false;/false暂停 true继续public static void main(String args) JFrame jf = new J

3、Frame();jf.setTitle(猜数字 );jf.setLayout(null);setButtoms(jf);jf.setSize(400, 300);jf.setLocationRelativeTo(null);jf.setResizable(false);jf.setVisible(true);jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);public static void setLables(JFrame jf)JLabel jl = new JLabel(级别:);JLabel sumtime = new JLabel(

4、倒计时: );jl.setBounds(80, 70, 40, 30);sumtime.setBounds(20, 230, 55, 30);jf.add(jl);jf.add(sumtime);public static void setButtoms(final JFrame jf)Button bt0 = new Button(简单);Button bt1 = new Button(普通);Button bt2 = new Button(困难);Button bt3 = new Button(我猜);Button bt4 = new Button(答案);Button start = n

5、ew Button(开始 );final Button stop = new Button(暂停 );Button bt = new Button(退出);final JLabel jtf = new JLabel(普通);/级别显示final JLabel messages = new JLabel();/级别结果信息final JTextField shuru = new JTextField(请输入5个不重复的数字!);/输入框shuru.setEnabled(false);/没有点击开始前,不能输入,只读设置/秒表,倒计时final JLabel time = new JLabel(1

6、0:00);bt0.setBackground(Color.gray);bt1.setBackground(Color.gray);bt2.setBackground(Color.gray);bt0.setBounds(80, 20, 50, 30);bt1.setBounds(170, 20, 50, 30);bt2.setBounds(260, 20, 50, 30);bt3.setBounds(230, 120, 50, 30);bt4.setBounds(300, 120, 50, 30);bt.setBounds(320, 220, 50, 30);start.setBounds(2

7、30, 70, 50, 30);stop.setBounds(300, 70, 50, 30);jtf.setBounds(130, 70, 50, 30);shuru.setBounds(80, 120, 140, 30);messages.setBounds(10, 150, 280, 30);time.setBounds(70, 230, 150, 30);/按钮事件 start/1.选择难度bt0.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) jtf.s

8、etText(简单 );shuru.setText(请输入3个不重复的数字! );time.setText(3:00);waits = false;shuru.setEnabled(false);num=null;);bt1.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) jtf.setText(普通 );shuru.setText(请输入5个不重复的数字! );time.setText(10:00);waits = false;shuru.setEnabled(

9、false);num=null;);bt2.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) jtf.setText(困难 );shuru.setText(请输入8个不重复的数字! );time.setText(20:00);waits = false;shuru.setEnabled(false);num=null;);/开始/ final TimerTask task = new TimerTask() /计时器的方式显示时间动态/ Override/ publ

10、ic void run() / Window.run(outtime);/ time.setText(outtime);/ / ;/ final Timer timer = new Timer(); final Thread t = new Thread(new Thread()/线程的方式实现时间动态Overridepublic void run() while(true)try Thread.sleep(10);/释放资源 catch (InterruptedException e1) e1.printStackTrace();while(waits)try Thread.sleep(10

11、00); catch (InterruptedException e) e.printStackTrace();Window.run(outtime);time.setText(outtime);if(猜数失败! .equals(outtime)shuru.setText(别灰心,下次在努力吧!);shuru.setEnabled(false);return;);start.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) int n;final String ti

12、mes;if(简单 .equals(jtf.getText()n = 3;times=3:00;else if(普通.equals(jtf.getText()n = 5;times=10:00;else if(困难.equals(jtf.getText()n = 8;times=20:00;elseJOptionPane.showMessageDialog(null,请选择级别!);return;lifearray(n);/根据级别获取随机数shuru.setEnabled(true);shuru.setText();messages.setText();outtime = times;/ T

13、imer timer = new Timer(); / timer.schedule(task, 0,1000);waits = true;/让时间处于运行状态if(t.isAlive()elset.start(););/暂停stop.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) if(暂停 .equals(stop.getLabel()waits = false;stop.setLabel(继续);elsewaits = true;stop.setLabel(

14、暂停););/我猜bt3.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) if(null=num)JOptionPane.showMessageDialog(null,请先开始游戏!);return;if(.equals(shuru.getText()JOptionPane.showMessageDialog(null,请输入数字!);return;int n;if(简单 .equals(jtf.getText()n = 1;else if(普通.equals(j

15、tf.getText()n = 2;else if(困难.equals(jtf.getText()n = 3;elseJOptionPane.showMessageDialog(null,请选择级别!);return;String message = init(n,shuru.getText();if(!.equals(message)/JOptionPane.showMessageDialog(null,message);messages.setText(message);if(恭喜你猜对了! .equals(message)shuru.setEnabled(false);/输入框只读waits = false;/倒计时停止num=null;);/答案bt4.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) String strs = ;for(int c: num)strs+=c;shuru.setText(strs);messages.setText(偷看答案不是好孩子哦!);waits =

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号