⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mineframe.java

📁 主要用java的Swing
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
			jtf3=new JTextField(mineNumber+"");
			b1.setFocusPainted(false);
			b2.setFocusPainted(false);
			b1.setBounds(125,25,60,30);
			b2.setBounds(125,65,60,30);
			jl1.setBounds(25,25,30,20);
			jl2.setBounds(25,50,30,20);
			jl3.setBounds(25,75,30,20);
			jtf1.setBounds(55,25,50,20);
			jtf2.setBounds(55,50,50,20);
			jtf3.setBounds(55,75,50,20);
			b1.addActionListener(this);
			b2.addActionListener(this);

			setBounds((int)(p.getX()),(int)(p.getY())+42,220,150);
			setResizable(false);
			setLayout(null);
			add(jl1);add(jl2);add(jl3);add(jtf1);add(jtf2);add(jtf3);add(b1);add(b2);
			setVisible(true);
		}

		/**
		 *选择自定义菜单项时触发的事件
		 */
		public void actionPerformed(ActionEvent e)
		{
			Object obj=e.getSource();
			boolean ExceBool=true;
			JButton bb=(JButton)obj;
			if(bb==b1)
			{
				try
				{
					rows=Integer.parseInt(jtf1.getText().trim());
					cols=Integer.parseInt(jtf2.getText().trim());
					mineNumber=Integer.parseInt(jtf3.getText().trim());
				}
				catch(Exception err)
				{
					if(JiBei==0){new MineFrame(rows,cols,mineNumber);ExceBool=false;}
					if(JiBei==1){new MineFrame(10,9,9);ExceBool=false;}
					if(JiBei==2){new MineFrame(40,16,16);ExceBool=false;}
					if(JiBei==3){new MineFrame(99,16,30);ExceBool=false;}
				}
				if(rows<9){rows=9;}
				if(cols<9){cols=9;}
				if(rows>=24){rows = 24;}
				if(cols>=30){cols = 30;}
				if(mineNumber<10){mineNumber=10;}
				if(mineNumber>=(rows*cols)){mineNumber=(rows*cols)-10;}
				if(mineNumber>99){mineNumber=99;}
				if(ExceBool)
				{
					new MineFrame(mineNumber,rows,cols);
				}

				MineFrame.this.dispose();
			}
			if(bb==b2)
			{
				ZDYItem.setState(false);
				dispose();
			}
		}
	}
	/**********************
	 *   破记录时,弹出的窗口
	 */
	class XMwindow extends JWindow implements ActionListener
	{
		JTextField XMjtf=new JTextField("佚名");
		JButton btn=new JButton(" 确 定 ");
		JPanel pe=new JPanel();
		JLabel lab;
		JLabel lab1=new JLabel("  请留下你的大名");
		String SJStr="你已经破了初级记录";
		String ZJStr="你已经破了中级记录";
		String GJStr="你已经破了高级记录";
		public XMwindow(){}
		public XMwindow(Frame owner)
		{
			super(owner);
			if(JiBei==1)lab=new JLabel(SJStr);
			if(JiBei==2)lab=new JLabel(ZJStr);
			if(JiBei==3)lab=new JLabel(GJStr);

			p=MineFrame.this.getLocation();
			setResizable(false);
			setBounds((int)(p.getX()),(int)(p.getY())+80,170,180);

			lab.setBounds(30,0,150,30);
			lab1.setBounds(30,15,150,30);
			btn.setBounds(40,100,90,25);
			XMjtf.setBounds(20,60,140,25);
			btn.setFocusPainted(false);
			btn.addActionListener(this);
			pe.setLayout(null);
			pe.add(lab);
			pe.add(lab1);
			pe.add(XMjtf);
			pe.add(btn);
			Container con=getContentPane();
			con.add(pe);
			setVisible(true);
		}
		public void actionPerformed(ActionEvent e)
		{
			Object obj=e.getSource();
			JButton bb=(JButton)obj;
			if(bb==btn)
			{
				YXName=XMjtf.getText().trim();
				if(JiBei==1)
				{
					XYBlb[9].setText(YXName);
					XYBlb[3].setText(finishtime+"");
				}
				if(JiBei==2)
				{
					XYBlb[10].setText(YXName);
					XYBlb[5].setText(finishtime+"");
				}
				if(JiBei==3)
				{
					XYBlb[11].setText(YXName);
					XYBlb[7].setText(finishtime+"");
				}
				dispose();
				new XYBDialog(MineFrame.this,"扫雷英雄榜", true);
			}
		}
	}

	/**
	 *扫雷英雄榜
	 */
	class XYBDialog extends JDialog implements ActionListener
	{
		JButton []btn=new JButton[2];
		String []str2={"重新记分"," 确 定 "};
		public XYBDialog(){}
		public XYBDialog(Frame owner, String title, boolean modal)
		{
			super(owner,title,modal);
			p=MineFrame.this.getLocation();
			setResizable(false);
			setBounds((int)(p.getX()),(int)(p.getY())+42,250,160);
			setLayout(null);

			for(int i=0;i<btn.length;i++)
			{
				btn[i]=new JButton(str2[i]);
				btn[i].setMargin(new Insets(0,0,0,0));
				btn[i].setFocusPainted(false);
				btn[i].addActionListener(this);
			}
			btn[0].setBounds(35,90,70,25);
			btn[1].setBounds(130,90,70,25);
			XYBlb[0].setBounds(35,20,30,20);
			XYBlb[1].setBounds(35,40,30,20);
			XYBlb[2].setBounds(35,60,30,20);

			XYBlb[3].setBounds(75,20,30,20);  //999
			XYBlb[4].setBounds(95,20,20,20);
			XYBlb[5].setBounds(75,40,30,20);  //999
			XYBlb[6].setBounds(95,40,20,20);
			XYBlb[7].setBounds(75,60,30,20);  //999
			XYBlb[8].setBounds(95,60,20,20);

			XYBlb[9].setBounds(150,20,100,20);
			XYBlb[10].setBounds(150,40,100,20);
			XYBlb[11].setBounds(150,60,100,20);
			add(XYBlb[0]);add(XYBlb[1]);add(XYBlb[2]);add(XYBlb[3]);add(XYBlb[4]);add(XYBlb[5]);
			add(XYBlb[6]);add(XYBlb[7]);add(XYBlb[8]);add(XYBlb[9]);add(XYBlb[10]);add(XYBlb[11]);
			add(btn[0]);add(btn[1]);
			setVisible(true);
		}
		public void actionPerformed(ActionEvent e)
		{
			Object obj=e.getSource();
			JButton bb=(JButton)obj;
			if(bb==btn[0])
			{
				XYBlb[3].setText("999");XYBlb[4].setText("秒");XYBlb[5].setText("999");XYBlb[6].setText("秒");
				XYBlb[7].setText("999");XYBlb[8].setText("秒");XYBlb[9].setText("佚名");
				XYBlb[10].setText("佚名");XYBlb[11].setText("佚名");

			}
			if(bb==btn[1])
			{
				s1=XYBlb[3].getText().trim();s2=XYBlb[5].getText().trim();s3=XYBlb[7].getText().trim();
				s4=XYBlb[9].getText().trim();s5=XYBlb[10].getText().trim();s6=XYBlb[11].getText().trim();

				al.add(s1);al.add(s2);al.add(s3);
				al.add(s4);al.add(s5);al.add(s6);
				al.add(p);
				writeB();
				al.clear();
				dispose();
			}
		}
	}

	/*******************
	 *timer事件,用于显示扫雷的时间
	 */
	class timerLin implements ActionListener
	{
		int time=0;
		public void actionPerformed(ActionEvent e)
		{
			time++;
			if(time<10)lb2.setText("00"+time);
			if(time>=10 & time<=99)lb2.setText("0"+time);
			if(time>=100)lb2.setText(time+"");
		}
	}
	/*******************
	 *timer事件,控制双击判断
	 */
	class ter implements ActionListener
	{
		public void actionPerformed(ActionEvent e)
		{
			if(doubleClieckID==4)
			{
				for(int i=0;i<rows;i++)
				{
					for(int j=0;j<cols;j++)
					{
						if(bttmp==mineBtn[i][j])
						{
							doubleClieck(i,j,mineBtn[i][j].id);
						}
					}
				}
			}
			doubleClieckID=0;
		}

		public void doubleClieck(int x,int y,int btnShuZhi)
		{
			int minenum=0;   //存储点击了几颗雷
			for(int i=-1;i<2;i++)
			{
				if(i+x>=rows)continue;
				if(i+x<0)continue;
				for(int j=-1;j<2;j++)
				{
					if(j+y>=cols)continue;
					if(j+y<0)continue;
					if(i==0 & j==0)continue;
					if(mineBtn[i+x][j+y].id>=20)
					{
						minenum++;
					}
				}
			}
			if(minenum==btnShuZhi)
			{
				doubleClieckShow(x,y,btnShuZhi);
			}
		}

		public void doubleClieckShow(int x,int y,int btnShuZhi)
		{
			boolean shuDK=false;
			for(int i=-1;i<2;i++)
			{
				if(i+x>=rows)continue;
				if(i+x<0)continue;
				for(int j=-1;j<2;j++)
				{
					if(j+y>=cols)continue;
					if(j+y<0)continue;
					if(i==0 & j==0)continue;

					if(mineBtn[i+x][j+y].id!=29)
					{
						if(mineBtn[i+x][j+y].id>=19)
						{
							mineBtn[i+x][j+y].setIcon(new ImageIcon(MineFrame.class.getResource("image/WrongLei.gif")));
							mineBtn[i+x][j+y].setDisabledIcon(new ImageIcon(MineFrame.class.getResource("image/WrongLei.gif")));
							beginBtn.setIcon(new ImageIcon(MineFrame.class.getResource("image/88.jpg")));
							if(mineBtn[i+x][j+y].id==19)
							{
								mineBtn[i+x][j+y].setIcon(new ImageIcon(MineFrame.class.getResource("image/DiLei_Bomd.gif")));
								mineBtn[i+x][j+y].setDisabledIcon(new ImageIcon(MineFrame.class.getResource("image/DiLei_Bomd.gif")));
							}
							shuDK=true;
							if(t.isRunning())
							{
								t.stop();
								bool=false;
							}
						}
						if(mineBtn[i+x][j+y].id==10) {DiGui(i+x,j+y);}
						if(mineBtn[i+x][j+y].id==10){mineBtn[i+x][j+y].setIcon(new ImageIcon(MineFrame.class.getResource("image/0.gif")));mineBtn[i+x][j+y].setDisabledIcon(new ImageIcon(MineFrame.class.getResource("image/0.gif")));mineBtn[i+x][j+y].id-=10;}
						if(mineBtn[i+x][j+y].id==11){mineBtn[i+x][j+y].setIcon(new ImageIcon(MineFrame.class.getResource("image/1.gif")));mineBtn[i+x][j+y].setDisabledIcon(new ImageIcon(MineFrame.class.getResource("image/1.gif")));mineBtn[i+x][j+y].id-=10;}
						if(mineBtn[i+x][j+y].id==12){mineBtn[i+x][j+y].setIcon(new ImageIcon(MineFrame.class.getResource("image/2.gif")));mineBtn[i+x][j+y].setDisabledIcon(new ImageIcon(MineFrame.class.getResource("image/2.gif")));mineBtn[i+x][j+y].id-=10;}
						if(mineBtn[i+x][j+y].id==13){mineBtn[i+x][j+y].setIcon(new ImageIcon(MineFrame.class.getResource("image/3.gif")));mineBtn[i+x][j+y].setDisabledIcon(new ImageIcon(MineFrame.class.getResource("image/3.gif")));mineBtn[i+x][j+y].id-=10;}
						if(mineBtn[i+x][j+y].id==14){mineBtn[i+x][j+y].setIcon(new ImageIcon(MineFrame.class.getResource("image/4.gif")));mineBtn[i+x][j+y].setDisabledIcon(new ImageIcon(MineFrame.class.getResource("image/4.gif")));mineBtn[i+x][j+y].id-=10;}
						if(mineBtn[i+x][j+y].id==15){mineBtn[i+x][j+y].setIcon(new ImageIcon(MineFrame.class.getResource("image/5.gif")));mineBtn[i+x][j+y].setDisabledIcon(new ImageIcon(MineFrame.class.getResource("image/5.gif")));mineBtn[i+x][j+y].id-=10;}
						if(mineBtn[i+x][j+y].id==16){mineBtn[i+x][j+y].setIcon(new ImageIcon(MineFrame.class.getResource("image/6.gif")));mineBtn[i+x][j+y].setDisabledIcon(new ImageIcon(MineFrame.class.getResource("image/6.gif")));mineBtn[i+x][j+y].id-=10;}
						if(mineBtn[i+x][j+y].id==17){mineBtn[i+x][j+y].setIcon(new ImageIcon(MineFrame.class.getResource("image/7.gif")));mineBtn[i+x][j+y].setDisabledIcon(new ImageIcon(MineFrame.class.getResource("image/7.gif")));mineBtn[i+x][j+y].id-=10;}
						if(mineBtn[i+x][j+y].id==18){mineBtn[i+x][j+y].setIcon(new ImageIcon(MineFrame.class.getResource("image/8.gif")));mineBtn[i+x][j+y].setDisabledIcon(new ImageIcon(MineFrame.class.getResource("image/8.gif")));mineBtn[i+x][j+y].id-=10;}
						mineBtn[i+x][j+y].setEnabled(false);
						mineBtn[i+x][j+y].setBorder(new EmptyBorder(new Insets(1,1,1,1)));
					}
				}
			}
			win();
			if(shuDK) //放在循环外面。用shuDK 布尔值来控制
			{
				lose();
			}
		}
		public void lose()
		{
			for(int k=0;k<rows;k++)
			{
				for(int l=0;l<cols;l++)
				{
					if(mineBtn[k][l].id==19 & mineBtn[k][l].isEnabled())
					{
						mineBtn[k][l].setIcon(new ImageIcon(MineFrame.class.getResource("image/DiLei.gif")));
						mineBtn[k][l].setDisabledIcon(new ImageIcon(MineFrame.class.getResource("image/DiLei.gif")));
						mineBtn[k][l].setEnabled(false);
						mineBtn[k][l].setBorder(new EmptyBorder(new Insets(1,1,1,1)));
					}
				}
			}
		}
	}
	/**
	 *  双击不能展开是按钮的下陷效果
	 */
	class YangShi implements ActionListener
	{
		public void actionPerformed(ActionEvent e)
		{
			if(doubleCliecktmp==4)
			{
				time.stop();
			}
			else
			{
				doubleCliecktmp=0;
			}
		}
	}
	class doub implements MouseListener
	{
		MineButton mbtn;

		public void mouseClicked(MouseEvent e)
		{
		}
		public void mouseEntered(MouseEvent e){}
		public void mouseExited(MouseEvent e){}
		public void mousePressed(MouseEvent e)
		{
			mbtn=(MineButton)e.getSource();
			doubleCliecktmp+=e.getButton();

			if(doubleCliecktmp==4)
			{
				for(int i=0;i<rows;i++)
				{
					for(int j=0;j<cols;j++)
					{
						if(mbtn==mineBtn[i][j] & mineBtn[i][j].id>=0 & mineBtn[i][j].id<=8)
						{
							A(i,j);
						}
					}
				}
			}
		}
		public void mouseReleased(MouseEvent e)
		{
			mbtn=(MineButton)e.getSource();
			for(int i=0;i<rows;i++)
			{
				for(int j=0;j<cols;j++)
				{
					if(mbtn==mineBtn[i][j])
					{
						B(i,j);
					}
				}
			}
			if(!(time.isRunning()))
			{
				time.restart();
			}
		}
		public void A(int x,int y)
		{
			for(int i=-1;i<2;i++)
			{
				if(i+x>=rows)continue;
				if(i+x<0)continue;
				for(int j=-1;j<2;j++)
				{
					if(j+y>=cols)continue;
					if(j+y<0)continue;
					if(i==0 & j==0)continue;
					if(mineBtn[i+x][j+y].id>=10 && mineBtn[i+x][j+y].id<=20)
					{
						if(t.isRunning())
						{
							mineBtn[i+x][j+y].setBorder(new EmptyBorder(new Insets(1,1,1,1)));
						}

					}
				}
			}
			doubleCliecktmp=0;
		}

		public void B(int x,int y)
		{
			for(int i=-1;i<2;i++)
			{
				if(i+x>=rows)continue;
				if(i+x<0)continue;
				for(int j=-1;j<2;j++)
				{
					if(j+y>=cols)continue;
					if(j+y<0)continue;
					if(i==0 & j==0)continue;
					if(mineBtn[i+x][j+y].id>=10 && mineBtn[i+x][j+y].id<=20)
					{
						if(t.isRunning())
						{
							mineBtn[i+x][j+y].setBorder(new BevelBorder(BevelBorder.RAISED));
						}
					}
				}
			}
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -