Java语言实现拼图游戏源代码
/*
* JAVA小游戏-拼图 我做的第一个小游戏
* Cell类是继承的按钮类,并加上相应图形,形成方格
*MyCanvas是一个面板,加载Cell类的对象(方格),是这三个类中的核心
*/
vlookup函数的使用教程视频import java.awt.Rectangle;
import java.awt.event.MouseEvent;
永磁无刷电机优缺点import java.awt.event.MouseListener;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Choice;
import java.awt.Color;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.Icon;
import javax.swing.JButton;
public class MyMainFrame extends JFrame implements ActionListener {
MyCanvas myCanvas;
JPanel panelNorth,panelPreview;//定义上方的面板,及预览所需的面板冰块和针管
Button start,preview,set;//定义开始,预览,设定按钮
Container container;//容器,得到内容面板
public MyMainFrame() {//初使化
ContentPane();
start=new Button("开始");
start.addActionListener(this);
preview=new Button("预览");
preview.addActionListener(this);
set = new Button("设置");
set.addActionListener(this);
panelPreview=new JPanel();
panelPreview.setLayout(null);
Icon icon=new ImageIcon("pic_"+MyCanvas.pictureID+".jpg");
JLabel label=new JLabel(icon);
label.setBounds(0,0,300,300);
panelPreview.add(label);
panelNorth=new JPanel();
panelNorth.d);
panelNorth.add(start);
你们都不预测我来预测
panelNorth.add(preview);
panelNorth.add(set);
myCanvas=new MyCanvas();
container.add(myCanvas,BorderLayout.CENTER);
container.add(panelNorth,BorderLayout.NORTH);
this.setTitle("拼图小游戏-明");
this.setLocation(300,200);
this.setSize(308,365);
this.setResizable(false);
this.setVisible(true);
this.setDefaultCloseOperation(3);
}
public static void main(String[] args) {
// TODO 自动生成方法存根
new MyMainFrame();
}
public void actionPerformed(ActionEvent arg0) {//对三个按钮事件的处理
// TODO 自动生成方法存根
Button button=(Source();
if(button==start){
myCanvas.Start();
}else if(button==preview){
Label()=="预览"){
ve(myCanvas);
container.add(panelPreview);
panelPreview.updateUI();
paint();
setinterval开始和停止button.setLabel("返回");
}else{
ve(panelPreview);
container.add(myCanvas);
paint();
button.setLabel("预览");
}
}else if(button==set){//修改所选图片
java手机游戏下载
Choice pic = new Choice();
pic.add("小猫");
pic.add("小猪");
pic.add("云");
pic.add("QQ");
pic.add("卡通");
pic.add("花");
int i=JOptionPane.showConfirmDialog(this, pic, "选择图片", JOptionPane.OK_CANCEL_OPTION);
if(i==JOptionPane.YES_OPTION){
MyCanvas.SelectedIndex()+1;
LoadPictrue();
Icon icon=new ImageIcon("pic_"+MyCanvas.pictureID+".jpg");
JLabel label=new JLabel(icon);
label.setBounds(0,0,300,300);
veAll();
panelPreview.add(label);
paint();
}
}
}
}
class MyCanvas extends JPanel implements MouseListener {
boolean hasAddActionListener=false;//设置方格的动作的标志位,TRUE为已经添加上动作事件,FALSE是尚未添加动作事件
Cell cell[];//定义方格
Rectangle cellNull;//定义空方格区域
public static int pictureID=1;//当前选择的图片代号
public MyCanvas() {
this.setLayout(null);
this.setSize(400,400);
cellNull=new Rectangle(200,200,100,100);//空方格区域在第三行每三列
cell=new Cell[9];
Icon icon;
for (int i = 0; i < 3; i++) {//为9个方格加载图片,并初使化坐标,形成三行三列
for(int j=0;j<3;j++){
icon=new ImageIcon("pic_"+pictureID+"_"+(i*3+j+1)+".jpg");
cell[i*3+j]=new Cell(icon);
cell[i*3+j].setLocation(j*100,i*100);
this.add(cell[i*3+j]);
}
}
ve(cell[8]);//移除最后一个多余的方格
}
文章转自上海青大实训:www.shaccp

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。