学习随笔——Java制作简单猜数字小游戏
2017-03-28 19:33
417 查看
效果图:
Test类:
GuessFrame类:
ButtonPanel类:
Test类:
package guess; public class Test { public static void main(String[] args){ GuessFrame g = new GuessFrame(); } }
GuessFrame类:
package guess; import java.awt.BorderLayout; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Random; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTextField; /** * 猜数字游戏的主面板 * @author Administrator * */ public class GuessFrame extends JFrame { //凡是放在面板上的组件都设置为成员变量 JTextField text; JLabel label; ButtonPanel panel; Random random; /** * 一个随机数 */ int number; /** * 在构造方法中进行窗口的初始化 */ public GuessFrame(){ //设置标题 setTitle("猜数字游戏"); //设置大小 setSize(400,300); //在屏幕上显示的像素 //不希望调整大小 setResizable(false); //设置关闭动作 setDefaultCloseOperation(EXIT_ON_CLOSE); //创建一个文本框 text = new JTextField(""); //创建一个提示的字符创标签 label = new JLabel("请输入一个1000以内的整数"); //创建一个边界布局管理器 BorderLayout mgr = new BorderLayout(); //获得内容面板 Container con = getContentPane(); //给内容面板添加布局管理器 con.setLayout(mgr); //在内容面板上添加文本框和字符创标签 con.add(text, BorderLayout.NORTH); con.add(label, BorderLayout.CENTER); //创建按钮的面板 panel = new ButtonPanel(); //将面板添加到主窗口上 con.add(panel, BorderLayout.SOUTH); //初始化随机数对象 random = new Random(); //调用产生随机数的方法 setRandomNumber(); //注册监听器 Mylistener m = new Mylistener(); panel.button1.setActionCommand("guess"); panel.button2.setActionCommand("reset"); panel.button3.setActionCommand("exit"); panel.button1.addActionListener(m); panel.button2.addActionListener(m); panel.button3.addActionListener(m); //设置可见 最后设置可见 setVisible(true); } /** * 内部类:将三个按钮注册到一个监听器上 * @author Administrator * */ class Mylistener implements ActionListener{ @Override public void actionPerformed(ActionEvent e) { if(e.getActionCommand().equals("guess")){ //猜 //获取玩家输入的字符 String s = text.getText(); try{ //玩家输入的数字字符型转换成数字 int num = Integer.parseInt(s); //前置判断玩家输入的数字是否在0~1000之内 if(num>=0&&num<1000){ //获取的字符与随机数number进行比较 if(num>number){ label.setText(" 你猜的数字过大"); }else if(num<number){ label.setText(" 你猜的数字过小"); }else{ label.setText(" 恭喜你,猜对了!"); } }else{ label.setText(" 你输入的数字不在0~1000之内"); } }catch(Exception e1){ label.setText("你输入的不是数字"); } }else if(e.getActionCommand().equals("reset")){ //重新来过 //重新产生随机数 setRandomNumber(); //提示标签复位 label.setText("请输入一个1000以内的整数"); //输入框清零 text.setText(""); }else if(e.getActionCommand().equals("exit")){ //退出 System.exit(0); } } } /** * 给number赋值随机数的方法 */ public void setRandomNumber(){ //产生一个随机数 number = random.nextInt(1000); } }
ButtonPanel类:
package guess; import java.awt.GridLayout; import javax.swing.JButton; import javax.swing.JPanel; /** * 放置三个按钮的面板 * @author Administrator * */ public class ButtonPanel extends JPanel { //JPanel组件不能独立存在,只能叠加到其他窗口 JButton button1; JButton button2; JButton button3; /** * 构造方法,初始化三个按钮,并且以网格布局的方式放在本面板上 */ public ButtonPanel(){ //创建网格布局管理器 GridLayout mgr = new GridLayout(1,3); //本面板设置网格布局管理器 setLayout(mgr); //创建三个按钮 button1 = new JButton("猜"); button2 = new JButton("重新来过"); button3 = new JButton("退出"); //将三个按钮放置在本面板上 add(button1); add(button2); add(button3); } }
相关文章推荐
- 学习随笔——Java制作简单截图工具
- java学习—— 制作简单的计算器
- 【Java学习】Java命令行猜数字小游戏
- 黑马程序员——iOS 开发学习---循环结构及UI控件制作猜数字小游戏
- 通过让虚拟机猜数字,学习简单的Java的指针(偏移量)
- 【JAVA学习】猜数字小游戏
- python学习笔记(五)简单的猜数字版小游戏
- cocos2d x 入门学习(一)实例制作简单的射击小游戏Star Fighter
- java学习(给对象制作的简单的有背景音乐的电子相册)
- 关于java打印功能的最简单实现的学习笔记
- 从最简单的开始学习JAVA【HelloWorld】...
- 学习OGRE制作简单人物行走demo(三)
- 实例学习SSIS(一)--制作一个简单的ETL包
- 实例学习SSIS(一)--制作一个简单的ETL包
- 来看看HGE引擎开发的小游戏5 - MMRPG简单制作
- SAP Query Reproting的制作(简单范例-非常好的学习资料)
- 第一个JAVA程序--猜数字小游戏
- 一个用Java编写的简单聊天室 用来学习Socket编程
- 实例学习SSIS(一)-- 制作一个简单的ETL包
- 基于java-applet的简单流程图绘制小工具的制作