📄 mainframe.java
字号:
//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 + -