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

📄 mainframe.java

📁 java写的模仿windows上的挖雷的游戏
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
//package mine;
import javax.swing.JFrame;
import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JToolBar;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JOptionPane;
import java.awt.Rectangle;
import java.awt.Insets;
import javax.swing.*;
import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;
import java.util.*;
import java.awt.Color;
import javax.swing.BorderFactory;
import javax.swing.border.EtchedBorder;
import java.awt.Font;
import java.io.*;
import java.awt.Toolkit;

public class MainFrame extends JFrame 
{
  TimeThread theTimeThread;
  boolean isRestart = false;
  int sumOfMine=0;
  int sumOfNotMine=0;
  String level = "";
  String curRecord = "";
  int sumOfButton = 0;
  ImageIcon imageMineNotFound = new ImageIcon(MainFrame.class.getResource("mine.gif"));
//  ImageIcon imageClose = new ImageIcon(MainFrame.class.getResource("closefile.gif"));
//  ImageIcon imageOpen = new ImageIcon(MainFrame.class.getResource("openfile.gif"));
  ImageIcon imageCurv = new ImageIcon(MainFrame.class.getResource("goldcurv.gif"));
  ImageIcon imageMine = new ImageIcon(MainFrame.class.getResource("isMine.gif"));
  ImageIcon imageNotSure = new ImageIcon(MainFrame.class.getResource("notsure.gif"));
  ImageIcon imageNew = new ImageIcon(MainFrame.class.getResource("new.gif"));
  ImageIcon imageRecieve = new ImageIcon(MainFrame.class.getResource("recieve.gif"));  
  ImageIcon imageWinner = new ImageIcon(MainFrame.class.getResource("winner.gif"));  
  ImageIcon imageErrMine = new ImageIcon(MainFrame.class.getResource("errmine.gif"));  
  ImageIcon imageBoom = new ImageIcon(MainFrame.class.getResource("boom.gif"));    
  JButton buttonOpen = new JButton();
  JToolBar toolBar = new JToolBar();
  JLabel statusBar = new JLabel();
  JMenuItem menuHelpAbout = new JMenuItem();
  JMenu menuHelp = new JMenu();
  JMenuItem menuFileExit = new JMenuItem();
  JMenu menuFile = new JMenu();
  JMenuBar menuBar1 = new JMenuBar();
  static  JPanel jPanel1 = new JPanel();
  BorderLayout borderLayout1 = new BorderLayout();
//  JButton jButton1 = new JButton();
  JMenuItem jMenuItem1 = new JMenuItem();
  MyButton mineButton[][] = new MyButton[20][20];
  JLabel jLabelTest[][] = new JLabel[20][20];
  JLabel jLabelTime = new JLabel();
  JLabel jLabelMineNum = new JLabel();
  JLabel jLabel1 = new JLabel();
  JLabel jLabelTestImage = new JLabel();
  JMenuItem jMenuPrime = new JMenuItem();
  JMenuItem jMenuMiddle = new JMenuItem();
  JMenuItem jMenuHigh = new JMenuItem();
  JLabel jLabel2 = new JLabel();
  RandomAccessFile accessFile;
  JMenuItem jMenuItem2 = new JMenuItem();

///////////////////////////////////////////////////////////////////////*

  public MainFrame()
  {
    
    theTimeThread = new TimeThread(this);
    File infoFile = new File("D:\\info.dat");
    boolean tempFlag = false;
    try
    {
      tempFlag = infoFile.createNewFile();
      
    }
    catch(IOException ioe)
    {
      JOptionPane.showMessageDialog(null,"IOException occurred : "+ ioe);
    }
    if(tempFlag)
    {
      try
      {
        RandomAccessFile newFile = new RandomAccessFile(infoFile,"rw");
        newFile.writeBytes("[level]\n");
        newFile.writeBytes("primer\n");
        newFile.writeBytes("[primer]\n");
        newFile.writeBytes("anonymity           \n");
        newFile.writeBytes("9999\n");
        newFile.writeBytes("[middle]\n");
        newFile.writeBytes("anonymity           \n");
        newFile.writeBytes("9999\n");
        newFile.writeBytes("[high]\n");
        newFile.writeBytes("anonymity           \n");
        newFile.writeBytes("9999\n");
        newFile.close();
      }
      catch(Exception ex)
      {
        JOptionPane.showMessageDialog(null,"Exception occurred here: "+ex);
      }
    }
    
    try
    {
      accessFile = new RandomAccessFile(infoFile,"rw");
      accessFile.readLine();
      this.level = accessFile.readLine();
      if(level.startsWith("primer"))
      {
        this.sumOfButton = 10;
        this.sumOfMine = 10;
        this.sumOfNotMine = 90;
        accessFile.readLine();
        accessFile.readLine();
      }
      else
        if(level.startsWith("middle"))
        {
          this.sumOfButton = 15;
          this.sumOfMine = 40;
          this.sumOfNotMine = 185;
          accessFile.readLine();
          accessFile.readLine();
          accessFile.readLine();
          accessFile.readLine();
          accessFile.readLine();
        }
        else
          if(level.startsWith("high"))
          {
            this.sumOfButton = 20;
            this.sumOfMine = 99;
            this.sumOfNotMine = 301; 
            accessFile.readLine();
            accessFile.readLine();
            accessFile.readLine();
            accessFile.readLine();
            accessFile.readLine();
            accessFile.readLine();
            accessFile.readLine();
            accessFile.readLine();
          }
      this.curRecord = accessFile.readLine();
      curRecord = curRecord.trim();
    }
    
    catch(Exception e)
    {
      JOptionPane.showMessageDialog(null,"IOException occurred here: " + e);
    }
    
    
    try
    {
      jbInit();
    }
    catch(Exception e)
    {
      e.printStackTrace();
    }

  }

  private void jbInit() throws Exception
  {
    this.setJMenuBar(menuBar1);
    this.getContentPane().setLayout(borderLayout1);
    jPanel1.setLayout(null);
    jPanel1.setForeground(new Color(11, 41, 121));

//    jButton1.setBounds(new Rectangle(0, 0, 16, 16));
//    jButton1.setMargin(new Insets(10, 10, 10, 10));
//    jButton1.setActionCommand("jButton00");
    jMenuItem1.setText("New");
    jMenuItem1.addActionListener(new ActionListener()
      {
        public void actionPerformed(ActionEvent e)
        {
          onNew(e);
        }
      });
    jLabelTime.setBackground(new Color(63, 109, 160));
    jLabelTime.setForeground(new Color(61, 65, 155));
    jLabelTime.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED));
    jLabelTime.setFont(new Font("华文中宋", 1, 14));
    jLabelTime.setToolTipText("time used");
    jLabelTime.setText("0000");
    jLabelTime.setBounds(new Rectangle(199, 3, 44, 26));
    jLabelMineNum.setText("0000");
    jLabelMineNum.setBackground(new Color(63, 109, 160));
    jLabelMineNum.setForeground(new Color(61, 65, 155));
    jLabelMineNum.setFont(new Font("华文中宋", 1, 14));
    jLabelMineNum.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED));
    jLabelTestImage.setBounds(new Rectangle(45, 0, 55, 60));
    jLabelTestImage.setIcon(imageRecieve);
    jLabelTestImage.setBackground(new Color(63, 109, 160));
    jLabelTestImage.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED));
    jLabelTestImage.setToolTipText("freesoso@sina.com.cn");
    jMenuPrime.setText("初级");
    jMenuPrime.setFont(new Font("仿宋_GB2312", 0, 12));
    jMenuPrime.addActionListener(new ActionListener()
      {
        public void actionPerformed(ActionEvent e)
        {
          onPrimer(e);
        }
      });
    jMenuMiddle.setText("中级");
    jMenuMiddle.setFont(new Font("仿宋_GB2312", 0, 12));
    jMenuMiddle.addActionListener(new ActionListener()
      {
        public void actionPerformed(ActionEvent e)
        {
          onMiddle(e);
        }
      });
    jMenuHigh.setText("高级");
    jMenuHigh.setFont(new Font("仿宋_GB2312", 0, 12));
    jMenuHigh.addActionListener(new ActionListener()
      {
        public void actionPerformed(ActionEvent e)
        {
          onHigh(e);
        }
      });
    jMenuItem2.setText("英雄榜");
    jMenuItem2.setFont(new Font("仿宋_GB2312", 0, 12));
    jMenuItem2.addActionListener(new ActionListener()
      {
        public void actionPerformed(ActionEvent e)
        {
          onList(e);
        }
      });


//    this.setSize(new Dimension(1000,1000));
    this.setSize(new Dimension(145, 140));
    this.jLabel1.setText("  ");
    this.jLabel2.setText("  ");
    this.setTitle("MyMinetest");
    this.setResizable(false);
    menuFile.setText("File");
    menuFileExit.setText("Exit");
    menuFileExit.addActionListener(new ActionListener()
      {
        public void actionPerformed(ActionEvent ae)
        {
          fileExit_ActionPerformed(ae);
        }
      });
    menuHelp.setText("Help");
    menuHelpAbout.setText("About");
    menuHelpAbout.addActionListener(new ActionListener()
      {
        public void actionPerformed(ActionEvent ae)
        {
          helpAbout_ActionPerformed(ae);
        }
      });
    statusBar.setText("");
    buttonOpen.setToolTipText("New Another Game");
    buttonOpen.setIcon(imageNew);
    buttonOpen.addActionListener(new ActionListener()
      {
        public void actionPerformed(ActionEvent e)
        {
          onButtonOpen(e);
        }
      });
    toolBar.setMinimumSize(new Dimension(43, 31));
    toolBar.setMaximumSize(new Dimension(350, 31));
    menuFile.add(jMenuItem1);
    menuFile.add(jMenuPrime);
    menuFile.add(jMenuMiddle);
    menuFile.add(jMenuHigh);
    menuFile.add(jMenuItem2);
    menuFile.add(menuFileExit);
    menuBar1.add(menuFile);
    menuHelp.add(menuHelpAbout);
    menuBar1.add(menuHelp);
    this.getContentPane().add(statusBar, BorderLayout.WEST);
    toolBar.add(jLabelMineNum, null);
    toolBar.add(jLabel2, null);
    toolBar.add(buttonOpen);
    toolBar.add(jLabel1, null);
    toolBar.add(jLabelTime, null);

    this.getContentPane().add(toolBar, BorderLayout.NORTH);
//    jPanel1.add(jButton1, null);

    jPanel1.add(jLabelTestImage, null);
    this.getContentPane().add(jPanel1, BorderLayout.CENTER);
    
    
  }

⌨️ 快捷键说明

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