




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
成绩: 课 程 设 计 报 告 书所属课程名称Java综合实践题 目取火柴小游戏院 (系)信息工程学院班 级软件工程(2)班学号学生姓名指导教师 2016年 12 月 26 日 课 程 设 计( 论 文 )任 务 书学院 信息工程学院 专 业 15软件工程 班 级 1 一、课程设计(论文)题目 取火柴小游戏 二、课程设计(论文)工作:自 2016年12月 20 日起至 2016年 12 月 31 日止。三、课程设计(论文)的内容要求:1本课程设计的目的(1)掌握Java语言的程序设计方法; (2)理论联系实际,进一步提高学生的软件开发技术;(3)培养学生分析、解决问题的能力;(4)提高学生实践论文撰写能力。2课程设计的任务及要求1)基本要求:(1)熟悉JAVA开发环境,掌握JAVA程序的编译和运行;(2)掌握JAVA基本编程技术和方法;(3)掌握GUI图形界面编程技术;(4)了解异常处理机制。2)课程设计论文编写要求(1)理论设计部分以课程设计论文的形式提交,格式必须按照课程设计论文标准格式进行书写和装订。(2)课程设计报告(论文)包括目录、设计目的、实现思路、实现步骤、设计心得参考文献、附录等;3)课程设计评分标准: (1)学习态度:10分;(2)系统设计:20分;(3)编程调试:20分;(4)回答问题:20分;(5)论文撰写:30分。4)参考文献:(1)丁振凡主编. Java语言实用教程M. 北京邮电大学出版社. 2004.12 (2)丁振凡主编. Java语言实用教程实验指导M. 北京邮电大学出版社. 2004.12(3)5)课程设计进度安排1准备阶段(4学时):选择设计题目、了解设计目的要求、查阅相关资料2程序模块设计分析阶段(8学时):程序总体设计、详细设计3代码编写调试阶段(8学时):程序模块代码编写、调试、测试4撰写论文阶段(4学时):总结课程设计任务和设计内容,撰写课程设计论文6)课程设计题目具体要求:编写一个程序使计算机随机产生2050根火柴,由人与计算机轮流拿,每次拿的数量不超过3根,拿到最后一根为胜。使用图形界面编写,要求界面布局合理,并且能够顺利关闭界面,退出程序。学生签名: 2016年12 月25日Windows记事本夏彪目录第1章 系统设计目的.1第2章 系统实现思路.2第3章 系统详细设计.3第4章 系统调试运行.10第5章 课程设计心得.13第6章 参考文献.13第7章 附录.14巢湖学院课程设计报告第1章 系统设计目的1)设计一个简单的取火柴小游戏,可以实现以下功能: 1:使计算机随机产生数; 2:设计出人性化的游戏界面; 3:给予不同的提示完成游戏; 4:能够顺利关闭游戏,退出游戏。 2)通过这次设计,可以帮助学生:1:提高对Java语言设计的掌握能力; 2:理论联系实际,进一步提高学生的软件开发技术; 3:培养学生分析、解决问题的能力。第2章 系统实现思路该游戏程序设计的主要内容是使用java中的各种组件与容器互相搭配来完成的一个小游戏。游戏设计中的主要的知识要点包括java的awt包中的颜色类,图形类,图像类,事件监听器类,和util包中的stack类,timer类,和timertask类的使用方法,以及swing包中的窗口类,按钮类,标签类,面板类,复选框类等一些常用组件的用法。通过这些组件来掌握事件监听器的用法,java中栈的用法,以及实现了Runnable类的TimerTask类的用法,通过这个类实现线程技术,还有Graphics类中的主要方法的使用,学会运用这些方法来来绘制火柴,绘制图片的目的。1:界面设计设置重置按钮的位置,左上角坐标为(250,10),大小为宽100,高20;设置用户标签的位置,左上角坐标为(400,10),大小为宽200,高20; 2:功能设计为“Reset”添加行为事件监听器,采用匿名类的方式。为用户按钮定义行为事件监听器。 3:代码设计编写每个控件的相关代码,并进行调试。第3章系统详细设计1:界面设计创建一个游戏界面,设置用户拿按钮的位置,下拉列表框中的位置,游戏中火柴的颜色,位置和大小。主要代码:import java.awt.Color;/引入颜色类import java.awt.Component;/引入组件类import java.awt.Dimension;/引入封装单个对象中组件的宽度和高度(精确到整数)的类import java.awt.Graphics;/引入图形类import java.awt.Graphics2D;/引入二维图形类import java.awt.event.ActionEvent;/引入事件类import java.awt.event.ActionListener;/引入事件监听器类import java.awt.image.BufferedImage;/引入缓冲图像类import java.util.Stack;/引入栈类import java.util.Timer;/引入计时器类import java.util.TimerTask;/引入了实现Runnable接口的类,并具有了线程的功能import javax.swing.JButton;/引入按钮类import javax.swing.JComboBox;/引入下拉列表框类import javax.swing.JFrame;/引入主框架主窗口类import javax.swing.JLabel;/引入标签类import javax.swing.JOptionPane;/引入选项面板类import javax.swing.JPanel;/引入面板类public class ha/定义一个公共的主类Testpublic static void main(String args)/定义主方法mainnew ha();/调用Test类的构造方法Test()private static final int MIN_CNT = 20;/定义一个常量,设置为最小火柴棍数量为20private static final int MAX_CNT = 50;/定义一个常量,设置为最大火柴棍数量为50private static final int MAX_TAKE = 3;/定义一个常量,设置为最大拿火柴数量为3private static final int DELAY = 1000;/定义一个常量,设置为延迟时间为1000private JFrame mainFrame;/定义主框架变量private MyPaintPanel paints;/定义我自己画的面板数组变量private JButton userBtn;/定义我的按钮属性private JComboBox userNum;/定义我的下拉列表private JButton compBtn;/定义电脑按钮属性private JLabel compTxt;/定义电脑标签private Timer timer;/定义计时器的变量private ha()/定义一个私有的构造方法,来完成游戏的初始化动作mainFrame = new JFrame();/实例化一个主窗口mainFrame.setResizable(false);/设置窗体大小不可调整mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/设置默认的关闭操作为关闭窗口JPanel mainPanel = new JPanel();/实例化一个主面板对象mainPanel.setLayout(null);/设置布局为空,即没有任何布局mainPanel.setPreferredSize(new Dimension(600, 400);/将组件的首选大小设置为常量值mainFrame.add(mainPanel);/将主面板添加到框架(窗口)中JLabel lab11 = new JLabel(电脑);/创建并设置标签按钮的内容为电脑lab11.setHorizontalAlignment(JLabel.CENTER);/设置标签内容沿 X 轴的对齐方式lab11.setBounds(0, 10, 200, 20);/设置该标签显示位置为坐标(0,10),宽200,高20mainPanel.add(lab11);/将标签加入主面板JButton btn11 = new JButton(Reset);/定义一个重新来的按钮btn11.addActionListener(new ActionListener()/为“Reset”添加行为事件监听器,采用匿名类的方式public void actionPerformed(ActionEvent e)/实现监听器中的方法init();/当单击此按钮时,调用该初始化方法);btn11.setBounds(250, 10, 100, 20);/设置重置按钮的位置,左上角坐标为(250,10),大小为宽100,高20mainPanel.add(btn11);/重来标签添加到主面板上JLabel lab12 = new JLabel(用户);/定义用户标签lab12.setHorizontalAlignment(JLabel.CENTER);/设置用户水平方式为居中lab12.setBounds(400, 10, 200, 20);/设置用户标签的位置,左上角坐标为(400,10),大小为宽200,高20mainPanel.add(lab12);/将用户标签添加到主面板上compBtn = new JButton(Computer First);/定义一个电脑首先拿的按钮compBtn.addActionListener(new ActionListener()/为电脑开始按钮定义行为事件监听器Overridepublic void actionPerformed(ActionEvent e)/行为监听器中的默认方法compTake();/当单击电脑按钮时,调用电脑拿方法);compBtn.setBounds(10, 40, 180, 20);/设置电脑按钮的位置,左上角坐标为(10,40),大小为宽180,高20mainPanel.add(compBtn);/按钮添加到主面板上compTxt = new JLabel();/定义一个空标签compTxt.setBounds(10, 70, 400, 20);/设置空标签的位置,左上角坐标为(10,70),大小为宽400,高20mainPanel.add(compTxt);/将空标签加到主面板上userBtn = new JButton(Take);/定义用户拿按钮userBtn.addActionListener(new ActionListener()/为用户按钮定义行为事件监听器public void actionPerformed(ActionEvent e)userTake();/当单击用户拿按钮时,调用用户拿方法);userBtn.setBounds(400, 40, 90, 20);/设置用户拿按钮的位置,左上角的坐标为(400,40),大小为宽90,高20mainPanel.add(userBtn);/用户按钮添加到主面板上userNum = new JComboBox();/定义一个下拉列表框for (int i = 0; i MAX_TAKE; i+)/定义一个拿最大的循环userNum.addItem(i + 1);/通过循环给列表框逐个添加选项userNum.setBounds(495, 40, 90, 20);/设置下拉列表框中的位置,左上角的坐标为(495,40),大小为宽90,高20mainPanel.add(userNum);/将列表框添加到主面板上paints = new MyPaintPanel3;/定义我画的面板for (int i = 0; i 3; i+)/用3次循环来画出三个面板paintsi = new MyPaintPanel();/分别创建3个面板,并调用构造方法初始化三个面板paintsi.setBounds(5 + 200 * i, 110, 190, 285);/设置三个面板的位置和坐标,间距为5mainPanel.add(paintsi);/将三个面板分别添加到主面板上mainFrame.pack();/调整此窗口的大小,以适合其子组件的首选大小和布局。mainFrame.setVisible(true);/设置当前主窗口的可见性init();/调用初始化方法 2:功能设计 定义初始化方法,调用重置方法,定义三块初始面板,定义用户拿火柴棒的方法和电脑拿火柴棒的方法,定义一个自定义的面板类并继承了组件类。主要代码:private void init()/定义初始化的方法if (timer != null)/如果计时器不为空的话就执行下面的语句timer.cancel();/快速终止计时器的任务执行线程timer = new Timer();/实例化一个计时器的对象compTxt.setText();/设置空标签的文本为空compBtn.setEnabled(true);/设置是否启用电脑按钮组件,即电脑组件可用userBtn.setEnabled(true);/设置是否启用用户按钮组件,即用户组件可用paints0.reset();/调用重置方法,来重新定义第一块面板paints1.reset();/调用重置方法,来重新定义第二块面板paints2.reset();/调用重置方法,来重新定义第三块面板int num = MIN_CNT + (int) (MAX_CNT + 1 - MIN_CNT) * Math.random();/随机产生一个大于20小于50的数for (int i = 0; i rel)/如果用户拿火柴棍的数量比面板中的数量大的话,执行下面的语句JOptionPane.showMessageDialog(mainFrame, There is only + rel+ matches.);/用标准对话框类调用显示”There is only machines“的对话框return;for (int i = 0; i takeCnt; i+)/定义一个将第二块面板中的火柴棍的数量移动到用户面板的循环int index = paints1.remove();/将第二个面板要移除的火柴棍的数量给index变量paints2.add(index);/将index的值添加到用户拿的面板上if (takeCnt = rel)/如果用户拿的火柴棍的数量和第二个相等执行下面的语句JOptionPane.showMessageDialog(mainFrame, You are the winner.);/显示”你胜利的对话框“init();/并重新初始化else/如果不相等的话,执行下面的语句,compTake();/让电脑接着拿火柴棍private void compTake()/定义电脑拿的方法compBtn.setEnabled(false);/设置电脑按钮的当前状态为不可用userBtn.setEnabled(false);/设置用户按钮的当前状态为不可用MyTask task = new MyTask();/实例化一个MyTask的对象timer.schedule(task, DELAY);/ 执行线程,安排在指定延迟1秒后执行指定的任务private class MyTask extends TimerTask /定义一个继承了实现Runnable接口的类使自己也具有线程功能Overridepublic void run()/因为TimerTask实现了Runnable接口,重写父类的run方法int rel = paints1.getCnt();/将火柴棍面板中的火柴的数量赋给relint takeCnt = 0;/设置当前拿火柴棍的数量为0if (rel 0)/如果面板中的火柴棍的数量对4取余大于0的话执行下面的语句takeCnt = rel % (MAX_TAKE + 1);/将面板中的火柴的数量对4取余之后赋给电脑要拿的火柴的数量else /否则面板中的火柴棍的数量对4取余小于或等于0的话执行下面的语句takeCnt = 1 + (int) (MAX_TAKE * Math.random();/随机产生一个小于4的数,给电脑要拿的数量for (int i = 0; i takeCnt; i+)int index = paints1.remove();/将火柴面板中的火柴移除并赋给indexpaints0.add(index);/将移除的火柴添加到电脑拿的面板上compTxt.setText(Computer takes + takeCnt + matches this time.);/设置电脑显示拿火柴的数量if (takeCnt = rel)/如果和电脑那的数量和面板中的数量相等执行下面的语句JOptionPane.showMessageDialog(mainFrame, /显示信息对话框提示电脑胜利了!Computer is the winner.);init();/并重新初始化userBtn.setEnabled(true);/设置用户按钮重新可用SuppressWarnings(serial)private class MyPaintPanel extends Component /定义一个自定义的面板类并继承了组件类private BufferedImage bimg;/创建一个BufferedImage的变量bimgprivate Stack data;/定义一个私有的栈类型的变量dataprivate MyPaintPanel()/构造我的初始面板的方法bimg = new BufferedImage(190, 285, BufferedImage.TYPE_3BYTE_BGR);/表示一个具有 8 位 RGB 颜色分量的图像,Graphics2D g2 = bimg.createGraphics();/创建一个 Graphics2D,并将它绘制到此 BufferedImage 中g2.setColor(Color.WHITE);/设置要画的颜色,即面板的颜色g2.fillRect(0, 0, 190, 285);/在坐标(0,0)处画一个大小为宽190,高为285的白色矩形区域g2.dispose();/释放此图形的上下文以及它使用的所有系统资源。调用 dispose 之后,就不能再使用 Graphics 对象。data = new Stack();/在此面板中实例化一个具体的栈的对象public void paint(Graphics g)/定义画图形的默认方法g.drawImage(bimg, 0, 0, null);/从坐标(0,0)出开始画图片g.dispose();/释放此图形的上下文以及它使用的所有系统资源。调用 dispose 之后,就不能再使用 Graphics 对象。3:代码设计private void add(int num)/添加火柴棍的方法Graphics2D g2 = bimg.createGraphics();/创建一个 Graphics2D,并将它绘制到此 BufferedImage 中int loc = data.size();/将当前栈的大小赋给变量loc/System.out.println(当前栈为+data.size();int offX = loc % 3 * 65;/动态的坐标int offY = loc / 3 * 15;/动态的坐标g2.setColor(Color.YELLOW);/设置火柴棒的颜色为黄色g2.fillRect(offX + 8, offY + 5, 50, 6);/填充火柴棒的颜色区域g2.setColor(Color.GREEN);/设置火柴棒头的颜色为绿色g2.fillArc(offX + 50, offY + 3, 10, 10, 0, 360);/设置火柴棒头的坐标,大小为宽和高为10的360度的弧g2.setColor(Color.BLACK);/设置当前火柴棒的根数的颜色g2.drawString(String.valueOf(num), offX, offY+ g2.getFont().getSize();/画出数字data.push(num);/把数字1压入堆栈顶部repaint();/重画g2.dispose();/释放此图形的上下文以及它使用的所有系统资源。调用 dispose 之后,就不能再使用 Graphics对象private int remove()/定义一个移除火柴棍的方法Graphics2D g2 = bimg.createGraphics();/创建一个 Graphics2D,并将它绘制到此 BufferedImage 中int loc = data.size() - 1;/将当前栈的大小即火柴棍的数量减1/System.out.println(当前栈为+data.size();int offX = loc % 3 * 65;/动态的获取坐标int offY = loc / 3 * 15;/动态的获取坐标g2.setColor(Color.WHITE);/设置移除填充颜色为白色g2.fillRect(offX, offY, 60, 15);/画出移除火柴棍的位置g2.dispose();/释放此图形的上下文以及它使用的所有系统资源。调用 dispose 之后,就不能再使用 Graphics 对象repaint();/调用重新画的方法return data.pop();/移除堆栈顶部的对象,并作为此函数的值返回该对象。private void reset()/定义一个重置的方法data.clear();/清楚该面板栈中的内容Graphics2D g2 = bimg.createGraphics();/创建一个 Graphics2D,并将它绘制到此 BufferedImage 中g2.setColor(Color.WHITE);/设置颜色为白色g2.fillRect(0, 0, 190, 285);/在坐标为(0,0)处填充大小为190,285的矩形区域g2.dispose();/释放此图形的上下文以及它使用的所有系统资源。调用 dispose 之后,就不能再使用 Graphics 对象。 repaint();/重绘此组件。 private int getCnt()/定义一个返回第二个面板火柴棍的数量return data.size();/返回当前栈中的火柴棍数量第4章系统调试运行1:运行界面2:游戏步骤截图(1)如果是电脑先拿先单击Computer First按钮,电脑随机拿走几根火柴,并在电脑按钮下方显示“Computer takes *matches this time”提示信息,单击之后电脑拿走的按钮被禁用,直到用户单击自己的按钮之后才能再拿。(2)用户单击自己的Take按钮,根据自己的情况拿相应的火柴数,比如说用户拿三根火柴。(3)用户根据自己的需要拿了三根火柴,之后电脑又拿了一根,如此循环,直到哪一方赢得比赛的胜利。从下图中可以看到电脑赢得了比赛的胜利。第5章课程设计心得经过一个星期的我的火柴小游戏的课程设计,我在汤柱亮老师的指导下,顺利完成该课程设计。通过该课程设计,收获颇多。在本次的课程设计中,我遇到了很多问题,也学会了很多东西。比如Graphics的绘图方法的问题,如何绘制曲线,如何绘制直线,如何绘制矩形,如何绘制圆形等一些基本图形的绘制,经过自己与同学的讨论,学会了图形类的使用方法。还有浏览器中不能显示Applet程序使由于缺少某种插件等等。但是随着这些问题的解决,我也从中学习到了新知识,感觉付出是值得的。第6章参考文献1 耿详义,张跃平. Java 2 实用教程. 北京:清华大学出版社,2004.22 张利国.Java实用教程案例.北京:清华大学出版社,2003.103 周晓聪,等.面向对象程序设计与Java语言.北京:机械工业出版社,2004.34 李尊朝.Java语言程序设计.北京:中国铁道出版社,2004.25 (美)Philip Heller.Complate Java 2 Certification Study Guide Fourth Edition(Java 2 证学习指南) (第四版 英文版). 北京:电子工业出版社,2004.1第7章附 录程序源代码:import java.awt.Color;/引入颜色类import java.awt.Component;/引入组件类import java.awt.Dimension;/引入封装单个对象中组件的宽度和高度(精确到整数)的类import java.awt.Graphics;/引入图形类import java.awt.Graphics2D;/引入二维图形类import java.awt.event.ActionEvent;/引入事件类import java.awt.event.ActionListener;/引入事件监听器类import java.awt.image.BufferedImage;/引入缓冲图像类import java.util.Stack;/引入栈类import java.util.Timer;/引入计时器类import java.util.TimerTask;/引入了实现Runnable接口的类,并具有了线程的功能import javax.swing.JButton;/引入按钮类import javax.swing.JComboBox;/引入下拉列表框类import javax.swing.JFrame;/引入主框架主窗口类import javax.swing.JLabel;/引入标签类import javax.swing.JOptionPane;/引入选项面板类import javax.swing.JPanel;/引入面板类public class ha/定义一个公共的主类Testpublic static void main(String args)/定义主方法mainnew ha();/调用Test类的构造方法Test()private static final int MIN_CNT = 20;/定义一个常量,设置为最小火柴棍数量为20private static final int MAX_CNT = 50;/定义一个常量,设置为最大火柴棍数量为50private static final int MAX_TAKE = 3;/定义一个常量,设置为最大拿火柴数量为3private static final int DELAY = 1000;/定义一个常量,设置为延迟时间为1000private JFrame mainFrame;/定义主框架变量private MyPaintPanel paints;/定义我自己画的面板数组变量private JButton userBtn;/定义我的按钮属性private JComboBox userNum;/定义我的下拉列表private JButton compBtn;/定义电脑按钮属性private JLabel compTxt;/定义电脑标签private Timer timer;/定义计时器的变量private ha()/定义一个私有的构造方法,来完成游戏的初始化动作mainFrame = new JFrame();/实例化一个主窗口mainFrame.setResizable(false);/设置窗体大小不可调整mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/设置默认的关闭操作为关闭窗口JPanel mainPanel = new JPanel();/实例化一个主面板对象mainPanel.setLayout(null);/设置布局为空,即没有任何布局mainPanel.setPreferredSize(new Dimension(600, 400);/将组件的首选大小设置为常量值mainFrame.add(mainPanel);/将主面板添加到框架(窗口)中JLabel lab11 = new JLabel(电脑);/创建并设置标签按钮的内容为电脑lab11.setHorizontalAlignment(JLabel.CENTER);/设置标签内容沿 X 轴的对齐方式lab11.setBounds(0, 10, 200, 20);/设置该标签显示位置为坐标(0,10),宽200,高20mainPanel.add(lab11);/将标签加入主面板JButton btn11 = new JButton(Reset);/定义一个重新来的按钮btn11.addActionListener(new ActionListener()/为“Reset”添加行为事件监听器,采用匿名类的方式Overridepublic void actionPerformed(ActionEvent e)/实现监听器中的方法init();/当单击此按钮时,调用该初始化方法);btn11.setBounds(250, 10, 100, 20);/设置重置按钮的位置,左上角坐标为(250,10),大小为宽100,高20mainPanel.add(btn11);/重来标签添加到主面板上JLabel lab12 = new JLabel(用户);/定义用户标签lab12.setHorizontalAlignment(JLabel.CENTER);/设置用户水平方式为居中lab12.setBounds(400, 10, 200, 20);/设置用户标签的位置,左上角坐标为(400,10),大小为宽200,高20mainPanel.add(lab12);/将用户标签添加到主面板上compBtn = new JButton(Computer First);/定义一个电脑首先拿的按钮compBtn.addActionListener(new ActionListener()/为电脑开始按钮定义行为事件监听器Overridepublic void actionPerformed(ActionEvent e)/行为监听器中的默认方法compTake();/当单击电脑按钮时,调用电脑拿方法);compBtn.setBounds(10, 40, 180, 20);/设置电脑按钮的位置,左上角坐标为(10,40),大小为宽180,高20mainPanel.add(compBtn);/按钮添加到主面板上compTxt = new JLabel();/定义一个空标签compTxt.setBounds(10, 70, 400, 20);/设置空标签的位置,左上角坐标为(10,70),大小为宽400,高20mainPanel.add(compTxt);/将空标签加到主面板上userBtn = new JButton(Take);/定义用户拿按钮userBtn.addActionListener(new ActionListener()/为用户按钮定义行为事件监听器Overridepublic void actionPerformed(ActionEvent e)userTake();/当单击用户拿按钮时,调用用户拿方法);userBtn.setBounds(400, 40, 90, 20);/设置用户拿按钮的位置,左上角的坐标为(400,40),大小为宽90,高20mainPanel.add(userBtn);/用户按钮添加到主面板上userNum = new JComboBox();/定义一个下拉列表框for (int i = 0; i MAX_TAKE; i+)/定义一个拿最大的循环userNum.addItem(i + 1);/通过循环给列表框逐个添加选项userNum.setBounds(495, 40, 90, 20);/设置下拉列表框中的位置,左上角的坐标为(495,40),大小为宽90,高20mainPanel.add(userNum);/将列表框添加到主面板上paints = new MyPaintPanel3;/定义我画的面板for (int i = 0; i 3; i+)/用3次循环来画出三个面板paintsi = new MyPaintPanel();/分别创建3个面板,并调用构造方法初始化三个面板paintsi.setBounds(5 + 200 * i, 110, 190, 285);/设置三个面板的位置和坐标,间距为5mainPanel.add(paintsi);/将三个面板分别添加到主面板上mainFrame.pack();/调整此窗口的大小,以适合其子组件的首选大小和布局。mainFrame.setVisible(true);/设置当前主窗口的可见性init();/调用初始化方法private void init()/定义初始化的方法if (timer != null)/如果计时器不为空的话就执行下面的语句timer.cancel();/快速终止计时器的任务执行线程timer = new Timer();/实例化一个计时器的对象compTxt.setText();/设置空标签的文本为空compBtn.setEnabled(true);/设置是否启用电脑按钮组件,即电脑组件可用userBtn.setEnabled(true);/设置是否启用用户按钮组件,即用户组件可用paints0.reset();/调用重置方法,来重新定义第一块面板paints1.reset();/调用重置方法,来重新定义第二块面板paints2.reset();/调用重置方法,来重新定义第三块面板int num = MIN_CNT + (int) (MAX_CNT + 1 - MIN_CNT) * Math.random();/随机产生一个大于20小于50的数for (int i = 0; i rel)/如果用户拿火柴棍的数量比面板中的数量大的话,执行下面的语句JOptionPane.sho
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年中国片状模塑料和块状模塑料行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030年中国焦磷酸四钾(TKPP)行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030年中国液态盐行业市场现状供需分析及投资评估规划分析研究报告
- 基础围墙施工方案
- 2025至2030年中国粉状纤维蛋白胶行业投资前景及策略咨询研究报告
- 2025至2030年中国百鲜王行业投资前景及策略咨询报告
- 水处理厂消毒程序质量保障计划
- 2025至2030年中国工艺服饰行业投资前景及策略咨询研究报告
- 城市地下管网和综合管廊建设改造工程实施方案(模板范文)
- 2025至2030年中国不倒翁沙袋行业投资前景及策略咨询报告
- 2024年陕西省略阳县事业单位公开招聘医疗卫生岗笔试题带答案
- 纳米银材料合成技术与抗菌效果研究进展
- 耳鼻喉技师习题库及参考答案
- 2024年江西各地供电服务有限公司招聘笔试真题
- 2025至2030中国碳酸甘油酯市场应用趋势预测及投资竞争研究报告
- 2025至2030中国二亚砜(dmso)市场深度调研及投资建议研究报告
- 项目执行合同书范本
- 2024-2025学年陕西省西安交大附中八年级(下)期中数学试卷(含详解)
- 浙江省宁波市三锋教研联盟2024-2025学年高一下学期4月期中化学试卷(含答案)
- GINA+2024哮喘防治指南修订解读
- 校医招聘笔试试题及答案
评论
0/150
提交评论