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

📄 mainscreen.java

📁 自己编写的扫雷游戏的源代码
💻 JAVA
字号:
package screen;import java.awt.*;import javax.swing.border.*;import java.lang.Math;import java.awt.event.*;import findmines.SettingParameters;import javax.swing.*;/** * Title: * Description: * Copyright:    Copyright (c) 2004 * Company: * @author * @version 1.0 */public class MainScreen extends JPanel{  JPanel showPanel = new JPanel();  SettingParameters param;  MinesPanel minesPanel ;  ImageIcon iconBegin = new ImageIcon("images/begin.gif");  ImageIcon iconEnd = new ImageIcon("Images/end.gif");  ImageIcon iconPress = new ImageIcon("Images/press.gif");  JPanel jPanel1 = new JPanel();  JButton button = new JButton();  JPanel jPanel2 = new JPanel();  ShowNumberPanel flagPanel = new ShowNumberPanel();  JPanel jPanel3 = new JPanel();  TimePanel timePanel = new TimePanel();  Border border1;  public MainScreen(SettingParameters pa) {    this.param = pa;    try {      jbInit();    }    catch(Exception ex) {      ex.printStackTrace();    }  }  public void resetParam(SettingParameters pa)  {    param = pa;    minesPanel.setAllBlock(param.getParamWidth() ,                            param.getParamHeight());    minesPanel.repaint();  }  public  void gameReady()  {    this.button.setIcon(iconBegin);    this.flagPanel.showNumber(param.getParamMines());    this.minesPanel.gameReady();    this.timePanel.ready();  }  public void gameStart()  {    this.timePanel.start();  }  /*    public void gameOver()    called by : MinesPanel    do: stop timer  */  public void gameOver()  {    this.timePanel.stop();    this.button.setIcon(this.iconEnd);  }  public void flagChanged(int mines)  {    flagPanel.showNumber(param.getParamMines() - mines);  }  void jbInit() throws Exception {    this.minesPanel = new MinesPanel(this,this.param);    border1 = BorderFactory.createBevelBorder(BevelBorder.LOWERED,Color.white,Color.darkGray,Color.black,Color.darkGray);    this.setLayout(new BorderLayout());    this.initShowPanel(showPanel);  }  void initShowPanel(JPanel panel)  {    panel.setMinimumSize(new Dimension(10,40));    panel.setMaximumSize(new Dimension(10,40));    panel.setPreferredSize(new Dimension(10,40)) ;    panel.setLayout(new BorderLayout());    panel.setBorder(BorderFactory.createLoweredBevelBorder());    button.setMaximumSize(new Dimension(29, 29));    button.setMinimumSize(new Dimension(29, 29));    button.setPreferredSize(new Dimension(29, 29));    button.setMargin(new Insets(2, 2, 2, 2));    button.setMnemonic(KeyEvent.VK_F2);    button.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(ActionEvent e) {        button_actionPerformed(e);      }    });    this.gameReady() ;    this.add(showPanel, BorderLayout.NORTH);    panel.add(jPanel1, BorderLayout.CENTER);    jPanel1.add(button, null);    panel.add(jPanel2,  BorderLayout.WEST);    jPanel2.add(flagPanel, null);    panel.add(jPanel3,  BorderLayout.EAST);    jPanel3.add(timePanel, null);    this.add(minesPanel,BorderLayout.CENTER);  }  void button_actionPerformed(ActionEvent e) {    this.gameReady();  }}

⌨️ 快捷键说明

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