在好例子网,分享、交流、成长!
您当前所在位置:首页Java 开发实例Android平台开发 → java拼图小游戏

java拼图小游戏

Android平台开发

下载此实例
  • 开发语言:Java
  • 实例大小:3.33M
  • 下载次数:34
  • 浏览次数:260
  • 发布时间:2020-05-26
  • 实例类别:Android平台开发
  • 发 布 人:woainiapple7351
  • 文件格式:.rar
  • 所需积分:5
 相关标签: 小游戏 拼图 游戏

实例介绍

【实例简介】

【实例截图】

from clipboard

【核心代码】

package cn.itcast.picture.ui;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;//引入一个界面包
import javax.swing.JLabel;
import javax.swing.JPanel;//引入一个面板包
import javax.swing.JRadioButton;
import javax.swing.JTextField;
import javax.swing.border.TitledBorder;
/*
 * 主界面类
 */
@SuppressWarnings("serial")
public class PictureMainFrame extends JFrame {//继承界面类	
	private String[] items = {"小女孩","女明星"};
	private JRadioButton addNumInfo;//数字提示
	private JRadioButton clearNumInfo;//清除提示Ctrl 1:快速将局部变量转换为成员变量
	private PictureCanvas canvas;//拼图区
	private PicturePreview preview;//预览区
	private JComboBox<String> box;//下拉框
	private JTextField name;//图片名称
	public static JTextField step;//步数
	private JButton start;//开始按钮	
	//空参数构造方法
	public PictureMainFrame(){
	//super();
	init();//界面初始化操作  		
	addcomponent();	
	addpreviewimage();//添加预览图片与拼图图片
	addActionListener();//为组件添加事件监听	
	}
	//为组件添加事件监听
	private void addActionListener() {
	//数字提示
		addNumInfo.addActionListener(new ActionListener() {
			//点击按钮时激活下面的方法
			@Override
			public void actionPerformed(ActionEvent e) {
			//完成数字提示的显示	
			canvas.reLoadPictureAddNumber();				
			}
		});
		//清除提示
		clearNumInfo.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				//完成数字提示的清除
			canvas.reLoadPictureClearNumber();	
			}
		});
		
		//下拉框
		box.addItemListener(new ItemListener() {//ItemListener:每一项的内容			
			@Override
			public void itemStateChanged(ItemEvent e) {
			//获取到选择的图片序号
			int num = box.getSelectedIndex();//默认从零开始
			//更新当前图片ID
			//更新预览区
			PictureCanvas.pictureID = num 1;
			preview.repaint();//重新绘制预览区界面
			//更新拼图区
			canvas.reLoadPictureClearNumber();
			//更新游戏状态区
			name.setText("图片名称:" box.getSelectedItem());	//设置图片名称
			//游戏步数清零
			int stepNum = PictureCanvas.stepNum = 0;//游戏步数清零
			step.setText("步数:" stepNum);//设置当前的步数
		    //按钮区
			//把选择按钮设成清除提示按钮选中状态
			clearNumInfo.setSelected(true);//			
			}
		});
		//开始按钮
		start.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
			//已移动的步数清零
			PictureCanvas.stepNum=0;
			//游戏状态区进行步数更新显示
			step.setText("步数:" PictureCanvas.stepNum);
			//对小方格进行重新位置排序,打乱顺序
			canvas.start();//*************
			}
		});
		
	}
	private void addpreviewimage() {
		//创建一个面板,包含拼图区与预览区
		JPanel panel = new JPanel();
			
		panel.setLayout(new GridLayout(1, 2)); //设置为表格布局,为面板panel设置一行两列
		canvas = new PictureCanvas();
		canvas.setBorder(new TitledBorder("拼图区"));//为区域添加边框		
		preview = new PicturePreview();
		preview.setBorder(new TitledBorder("图片预览区"));//为区域添加边框
		//把拼图区与图片预览区添加到中间的面板中
		panel.add(canvas,BorderLayout.WEST);//左边
		panel.add(preview,BorderLayout.EAST);
		//把面板显示在主界面中  居中显示
		this.add(panel,BorderLayout.CENTER);	
	}
	//添加组件
	private void addcomponent() {
	//创建一个用来在主界面上方显示的面板,在面板中要包含 按钮区 与 游戏状态区
	JPanel	panel = new JPanel();//new出一个面板
	panel.setBackground(Color.PINK);//设置当前面板背景色为粉色
	//----------以上代码没问题-------------------
	panel.setLayout(new GridLayout(1, 2));//mgr:布局方式  GridLayout:表格布局方式  rows:代表行数 cols:代表列数 	
	//创建左边按钮区面板
	JPanel leftPanel = new JPanel();
	leftPanel.setBorder(new TitledBorder("按钮区"));//添加边框
	panel.add(leftPanel, BorderLayout.WEST);//将左边按钮区面板放在左侧
	leftPanel.setBackground(Color.PINK);//将左边按钮区面板背景色设置成粉色
	addNumInfo = new JRadioButton("数字提示",false);
	clearNumInfo = new JRadioButton("清除提示",true);
	//添加按钮组
	ButtonGroup  buttonGroup = new  ButtonGroup();       //buttongroup:按钮组
	//添加下拉选择框	
	box = new JComboBox<String>(items);	
	start = new JButton("start");	
	//添加单选按钮到按钮组中
	buttonGroup.add(addNumInfo);
	buttonGroup.add(clearNumInfo);
	//设置背景色
	addNumInfo.setBackground(Color.PINK);
	clearNumInfo.setBackground(Color.PINK);
	start.setBackground(Color.PINK);	
	//添加组件到左边面板中\\面板中不予许添加按钮组,只能添加按钮
	leftPanel.add(addNumInfo);
	leftPanel.add(clearNumInfo);
	leftPanel.add(new JLabel("            选择图片"));
	leftPanel.add(box);
	leftPanel.add(start);	
	//------------------------------------
	//创建右边游戏状态区面板
	JPanel rightPanel = new JPanel();
	rightPanel.setBorder(new TitledBorder("游戏状态区"));//添加边框
	rightPanel.setBackground(Color.PINK);//将右边游戏状态区面板背景色设置成粉色
	rightPanel.setLayout(new GridLayout(1, 2));
	name = new JTextField("图片名称:小女孩儿");
	step = new JTextField("步数:0");	
	//把组件添加到游戏状态面板中name,BorderLayout.WEST
	rightPanel.add(name,BorderLayout.WEST);//左边
	rightPanel.add(step,BorderLayout.EAST);//右边	
	//设置文本框不能编辑
	name.setEditable(false);
	step.setEditable(false);	
	panel.add(rightPanel, BorderLayout.EAST);//将右边游戏状态面板放在右侧
	//------------------以下代码没问题--------------------------
	//设置panel 在主界面的上方 NORTH是北方,即上方
	this.add(panel,BorderLayout.NORTH);	
}
	/*
	 * 界面初始化方法
	 */
	private void init() {
	 //1:设置当前窗口的标题
		this.setTitle("拼图游戏");
	 //2:设置窗口的大小
		this.setSize(1000, 720);
	 //3:设置窗口的显示位置
		this.setLocation(460, 180);
	 //4:设置窗口的大小为固定大小
		this.setResizable(false);
	//设置窗口的默认关闭操作,当关闭窗体界面时,关闭java程序
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);		
	}
}

标签: 小游戏 拼图 游戏

实例下载地址

java拼图小游戏

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警