整个程序使用了5个类: RunGame 用于启动程序。 Game 界面的布置,各种行列的算法。 ExtendButton 继承了Jbutton 用于新建button的各种属性 ShowNum 监听到某个button后,计算出此button周围有几个雷,不同的雷对应不通的图片,此类得到button上应加载的图片地址 ViewReSet 此类用于新建一个窗口,用户输入自己想要的行、列、雷数,然后用新的行列雷数new一个新的Game biaose dise1 dise2 dise3 dise4 dise5 dise6 dise7 dise8 dise lei biaoji /**************************************************************** 运行类 */ package com.dhl.saolei; public class RunGame { public static void main(String[] args) { new Game(); } } /**************************************************************** 创建游戏主窗体 */ package com.dhl.saolei; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Container; import java.awt.Dimension; import java.awt.Font; import java.awt.GridLayout; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.InputEvent; import java.awt.event.KeyEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JToolBar; import javax.swing.KeyStroke; import javax.swing.Timer; public class Game extends JFrame implements ActionListener{ private Container myContainer; private GridLayout myLayout; private JPanel myPanelMain; private JPanel myPanel; private JToolBar myTool; private JLabel time; private JLabel labelTime; private JLabel bombNum; private JLabel labelBombNum; private JMenuBar menuBar; private JMenu menuE, menuH; private JMenuItem menuItemCZ, menuItemSZ; private int numBomb, countTime, leaveBomb, numEnd; private int myRows , myColumn...