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

📄 mainjframe.java

📁 java拼图 分为3个等级 两种不同的玩法 一个是移动的 一个是跳动的
💻 JAVA
字号:
//package pt1;

import javax.swing.*;

import java.awt.event.*;

public class mainJFrame extends JFrame implements ActionListener {
	JMenuBar jmb;

	JMenu jm1, jm2;

	JMenuItem jm1_jmi1, jm1_jmi2, jm1_jmi3, jm1_jmi4, jm1_jmi5, jm1_jmi6,
			jm1_jmi7, jm1_jmi8;

	// --------------------
	JToolBar jtb;// 工具栏

	JButton jtb_jb1, jtb_jb2, jtb_jb3, jtb_jb4, jtb_jb5, jtb_jb6;

	// ----------------
	JPanel jp_bs;

	JLabel jl_bs;
	

	JTextField jtf_bs;

	// -----------------------
	MyJPanel pt;

	MyJPanel2 pt2;

	boolean restart = false, regame = false;

	boolean cj = true, zj = false, gj = false;

	boolean change = true;

	public void init() {
		pt2 = new MyJPanel2();

		jmb = new JMenuBar();

		jm1 = new JMenu("游戏(G)");// JMenu 不能设置快捷键
		jm1.setMnemonic('G'); // 设置热键
		jmb.add(jm1);

		jm1_jmi1 = new JMenuItem("开始(N)");
		jm1_jmi1.addActionListener(this);
		jm1_jmi1.setMnemonic('N'); // 设置热键
		// ????????
		jm1_jmi1.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,
				java.awt.event.InputEvent.CTRL_MASK));// 完整路径为
		// java.awt.event.InputEvent
		jm1.add(jm1_jmi1);
		jm1.addSeparator(); // 添加分隔线
		jm1_jmi3 = new JMenuItem("初级");
		jm1.add(jm1_jmi3);
		jm1_jmi3.addActionListener(this);
		jm1_jmi4 = new JMenuItem("中级");
		jm1.add(jm1_jmi4);
		jm1_jmi4.addActionListener(this);
		jm1_jmi5 = new JMenuItem("高级");
		jm1.add(jm1_jmi5);
		jm1_jmi5.addActionListener(this);
		jm1.addSeparator(); // 添加分隔线
	//	jm1_jmi6 = new JMenuItem("自定义");
		//jm1.add(jm1_jmi6);
	//	jm1.addSeparator(); // 添加分隔线
		jm1_jmi7 = new JMenuItem("拼图英雄榜");
		//jm1.add(jm1_jmi7);
	//	jm1.addSeparator(); // 添加分隔线
		jm1_jmi8 = new JMenuItem("退出");
		jm1_jmi8.addActionListener(this);
		jm1.add(jm1_jmi8);

		jm2 = new JMenu("帮助");
		jmb.add(jm2);
		// -----------------------
		jtb = new JToolBar();
		jtb_jb1 = new JButton("开始游戏");// 建立图标按钮
		jtb_jb1.setHorizontalTextPosition(AbstractButton.CENTER);// 设置文字的横向位置
		jtb_jb1.setVerticalTextPosition(AbstractButton.BOTTOM);// 设置文字的纵向位置;
		jtb_jb1.setToolTipText("开始游戏");// 设置提示文字
		jtb_jb1.setFocusPainted(false);// 设置不画焦点
		jtb_jb1.setRequestFocusEnabled(false);// 设置不能设置焦点 使焦点不停留
		jtb.add(jtb_jb1);
		jtb_jb1.addActionListener(this);

		jtb_jb2 = new JButton("显示图象");
		jtb_jb2.setEnabled(false);
		jtb.add(jtb_jb2);
		jtb_jb2.addActionListener(this);
		// -------------------------------------------
		jtb_jb4 = new JButton("移动模式");
		jtb.add(jtb_jb4);
		jtb_jb4.setEnabled(false);
		jtb_jb4.addActionListener(this);

		jtb_jb3 = new JButton("跳换模式");
		jtb.add(jtb_jb3);
		jtb_jb3.setEnabled(true);
		jtb_jb3.addActionListener(this);

		// ------------------------------------

		add(jtb, "North");
		// -------------------
		pt = new MyJPanel();
		add(pt, "Center");
		pt.init(3, "cj.jpg");

		pt2.init(3,"cj.jpg");
		// ------------------------
		ImageIcon image = new ImageIcon("icon0.JPG");  //设置左上角图标
		setIconImage(image.getImage());

		setJMenuBar(jmb);
		setTitle("拼图游戏");
		setSize(460, 450);
		setLocation(300, 100); // xian shi chuang kou weizhi
		setResizable(false); // suo ding chuang kou
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setVisible(true);
	}

	public static void main(String[] args) {
		// ------------------设置窗口模式
		// JFrame.setDefaultLookAndFeelDecorated(true);
		//
		try {
			UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
			// UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
		} catch (Exception e) {
		}

		// -----------------------
		new mainJFrame().init();

	}

	public void actionPerformed(ActionEvent e) {
		if (e.getSource() == jtb_jb1 || e.getSource() == jm1_jmi1) {
			jtb_jb2.setEnabled(true);
			if (change) { // 移动状态
				pt.bs = 0;
				pt.jtf_bs.setText("0");
				pt.running = true;
				pt.move = true;
				pt.jixu = true;
			} else {// 跳转状态
				pt2.bs2 = 0;
				pt2.jtf_bs.setText("0");
				pt2.running2 = true;
				pt2.move2 = true;
				pt2.jixu2 = true;
			}
			jtb_jb2.setEnabled(true);
			if (!restart) {
				restart = true;
				jtb_jb1.setText("重新开始");
				jm1_jmi1.setText("重新开始");
				if (change) {
					pt.repaint();
				}

				else {
					pt2.repaint();
				}

			} else {
				if (cj) {
					if (change)
						pt.init(3, "cj.jpg");
					else
						{pt2.remove(pt2.jp0);
						pt2.init(3,"cj.jpg");
						}
				} else if (zj) {
					if (change)
						pt.init(4, "zj.jpg");
					else
						{pt2.remove(pt2.jp0);
						pt2.init(4,"zj.jpg");}
				} else if (gj) {
					if (change)
						pt.init(5, "bf.jpg");
					else
						{pt2.remove(pt2.jp0);
						pt2.init(5,"bf.jpg");}
				}
				if (change)
					pt.repaint();
				else
					pt2.repaint();
			}
			
		}
		if (e.getSource() == jm1_jmi3) {//初级
			if (change) {
				pt.bs = 0;
				pt.jtf_bs.setText("0");
				// --------
				pt.move = false;
				pt.jixu = true;
				pt.running = false;
			} else {
				pt2.bs2 = 0;
				pt2.jtf_bs.setText("0");
				pt2.running2 = false;
				pt2.jixu2 = true;
				pt2.move2 = false;
			}

			cj = true;
			zj = false;
			gj = false;
			// ---------------

			jtb_jb1.setText("开始游戏");
			jm1_jmi1.setText("开始游戏");
			// jtb_jb2.setEnabled(false);
			restart = false;
			if (change) {
				pt.init(3, "cj.jpg");
				pt.repaint();
			} else {
				pt2.remove(pt2.jp0);
				pt2.init(3,"cj.jpg");
				pt2.repaint();
			}
		}
		if (e.getSource() == jm1_jmi4) {//中级
			if (change) {
				pt.bs = 0;
				pt.jtf_bs.setText("0");
				// --------
				pt.move = false;
				pt.jixu = true;
				pt.running = false;
			} else {
				pt2.bs2 = 0;
				pt2.jtf_bs.setText("0");
				pt2.running2 = false;
				pt2.jixu2 = true;
				pt2.move2 = false;
			}
			cj = false;
			zj = true;
			gj = false;
			// ---------------

			jtb_jb1.setText("开始游戏");
			jm1_jmi1.setText("开始游戏");
			jtb_jb2.setEnabled(false);
			// jtb_jb1.setEnabled(true);
			restart = false;
			if (change) {
				pt.init(4, "zj.jpg");
				pt.repaint();
			} else {
				pt2.remove(pt2.jp0);
				pt2.init(4,"zj.jpg");
				pt2.repaint();
				pt2.running2 = false;
				pt2.repaint();
			}
		}
		if (e.getSource() == jm1_jmi5) {//高级
			if (change) {
				pt.bs = 0;
				pt.jtf_bs.setText("0");
				// --------
				pt.move = false;
				pt.jixu = true;
				pt.running = false;
			} else {
				pt2.bs2 = 0;
				pt2.jtf_bs.setText("0");
				pt2.running2 = false;
				pt2.jixu2 = true;
				pt2.move2 = false;
			}
			cj = false;
			zj = false;
			gj = true;
			// ---------------

			jtb_jb1.setText("开始游戏");
			jm1_jmi1.setText("开始游戏");
			jtb_jb2.setEnabled(false);
			// jtb_jb1.setEnabled(true);
			restart = false;
			if (change) {
				pt.init(5, "bf.jpg");
				pt.repaint();
			} else {
				pt2.remove(pt2.jp0);
				pt2.init(5,"bf.jpg");
				pt2.repaint();
			}
		}
		if (e.getSource() == jtb_jb2 && (pt.jixu || pt2.jixu2)) {//继续游戏
			if (!regame) {
				if (change)
					pt.running = false;
				else
					pt2.running2 = false;
				regame = true;
				if(change)
				pt.repaint();// ?????????????????????????????????????????????
				else
					pt2.repaint();
				jtb_jb2.setText("继续游戏");
				jtb_jb1.setEnabled(false);
				// jtb_jb1.setEnabled(true);
				jm1_jmi3.setEnabled(false);
				jm1_jmi4.setEnabled(false);
				jm1_jmi5.setEnabled(false);
				jm1_jmi1.setEnabled(false);
				jtb_jb4.setEnabled(false);
				jtb_jb3.setEnabled(false);
				// -----------------------------
			} else {
				if (change)
					pt.running = true;
				else
					pt2.running2 = true;
				regame = false;
				repaint();// ???????????????????????????????????
				jtb_jb2.setText("显示图象");
				jtb_jb1.setEnabled(true);
				// ------------------------
				jm1_jmi3.setEnabled(true);
				jm1_jmi4.setEnabled(true);
				jm1_jmi5.setEnabled(true);
				jm1_jmi1.setEnabled(true);
				if(change) jtb_jb3.setEnabled(true);
				else jtb_jb4.setEnabled(true);
			}
		}
		if (e.getSource() == jtb_jb3) { // 跳换
			change = false;
			remove(pt);
			add(pt2, "Center");
			// pt2.init(3);
			pt2.running2 = false; // /////////////////////////////
			pt2.repaint();
			jtb_jb3.setEnabled(false);
			jtb_jb4.setEnabled(true);
			jtb_jb2.setEnabled(false);
	
				jtb_jb2.setText("显示 图象");///??????/
		}
		if (e.getSource() == jtb_jb4) { // 移动
			change = true;
			remove(pt2);
			add(pt, "Center");
			pt.running = false;
			pt.repaint();
			// pt.init(3,"d:\\cj.jpg");
			jtb_jb3.setEnabled(true);
			jtb_jb4.setEnabled(false);
			jtb_jb2.setEnabled(false);
		}
		if (e.getSource() == jm1_jmi8) {
			System.exit(0);
		}

	}

}

⌨️ 快捷键说明

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