📄 bomb.java
字号:
package com.exam.ui.game;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JRadioButtonMenuItem;
import javax.swing.JTextField;
import com.exam.ui.SuperFrame;
public class Bomb extends SuperFrame {
private static final long serialVersionUID = 1L;
public JTextField txtBombNum = null;
private JPanel pnlEasy = null;
private JPanel pnlMiddle = null;
private JPanel pnlHard = null;
private int pnl = 0;
public JTextField txtTime = null;
public Bomb() {
try {
init();
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
this.setResizable(false);
} catch (Exception e) {
e.printStackTrace();
}
}
private void init() {
this.setTitle("扫雷");
this.setSize(400, 400);
this.setCenter();
JPanel pnlTotal = new JPanel();
this.getContentPane().add(pnlTotal);
pnlTotal.setLayout(new BorderLayout());
JMenuBar mnuBar = new JMenuBar();
this.setJMenuBar(mnuBar);
JMenu mnuFile = new JMenu("文件");
JMenu mnuHelp = new JMenu("帮助");
mnuBar.add(mnuFile);
mnuBar.add(mnuHelp);
JMenuItem mnuReStart = new JMenuItem("开局");
JRadioButtonMenuItem mnuEasy = new JRadioButtonMenuItem("初级");
JRadioButtonMenuItem mnuMiddle = new JRadioButtonMenuItem("中级", true);
JRadioButtonMenuItem mnuHard = new JRadioButtonMenuItem("高级");
final ButtonGroup group = new ButtonGroup();
group.add(mnuEasy);
group.add(mnuMiddle);
group.add(mnuHard);
JMenuItem mnuExit = new JMenuItem("退出");
mnuFile.add(mnuReStart);
mnuFile.addSeparator();
mnuFile.add(mnuEasy);
mnuFile.add(mnuMiddle);
mnuFile.add(mnuHard);
mnuFile.addSeparator();
mnuFile.add(mnuExit);
JMenuItem mnuAbout = new JMenuItem("关于");
mnuHelp.add(mnuAbout);
final BombPanel bombPanelEasy = new BombPanel(8, 10,this);
final BombPanel bombPanelMiddle = new BombPanel(10, 20,this);
final BombPanel bombPanelHard = new BombPanel(12, 40,this);
pnlEasy = bombPanelEasy.init();
pnlMiddle = bombPanelMiddle.init();
pnlHard = bombPanelHard.init();
JPanel pnlTop = new JPanel();
final JPanel pnlMain = new JPanel();
pnlMain.setLayout(new BorderLayout());
txtBombNum = new JTextField("000");
txtBombNum.setFocusable(false);
txtBombNum.setForeground(Color.red);
pnlTop.add(txtBombNum);
JLabel lblMargin1 = new JLabel(" ");
pnlTop.add(lblMargin1);
JButton btnRestart = new JButton("重新开始");
pnlTop.add(btnRestart);
JLabel lblMargin2 = new JLabel(" ");
pnlTop.add(lblMargin2);
txtTime = new JTextField("000");
txtTime.setFocusable(false);
txtTime.setForeground(Color.red);
pnlTop.add(txtTime);
int num = bombPanelMiddle.getBombNum();
if (num < 10) {
txtBombNum.setText("00" + num);
} else if (num < 100) {
txtBombNum.setText("0" + num);
} else {
txtBombNum.setText("" + num);
}
pnlTotal.add(pnlTop, BorderLayout.NORTH);
pnlTotal.add(pnlMain, BorderLayout.CENTER);
pnlMain.add(pnlMiddle);
pnl = 2;
btnRestart.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
if(pnl == 1){
bombPanelEasy.reStart();
}else if(pnl == 2){
bombPanelMiddle.reStart();
}else if(pnl == 3){
bombPanelHard.reStart();
}
}
});
mnuReStart.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(pnl == 1){
bombPanelEasy.reStart();
}else if(pnl == 2){
bombPanelMiddle.reStart();
}else if(pnl == 3){
bombPanelHard.reStart();
}
}
});
mnuEasy.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(pnl == 1){
bombPanelEasy.reStart();
}else if(pnl == 2){
bombPanelMiddle.reStart();
pnlMiddle.setVisible(false);
}else if(pnl == 3){
bombPanelHard.reStart();
pnlHard.setVisible(false);
}
pnlMain.add(pnlEasy);
pnlEasy.setVisible(true);
pnl = 1;
int num = bombPanelEasy.getBombNum();
if (num < 10) {
txtBombNum.setText("00" + num);
} else if (num < 100) {
txtBombNum.setText("0" + num);
} else {
txtBombNum.setText("" + num);
}
}
});
mnuMiddle.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(pnl == 1){
bombPanelEasy.reStart();
pnlEasy.setVisible(false);
}else if(pnl == 2){
bombPanelMiddle.reStart();
}else if(pnl == 3){
bombPanelHard.reStart();
pnlHard.setVisible(false);
}
pnlMain.add(pnlMiddle);
pnlMiddle.setVisible(true);
pnl = 2;
int num = bombPanelMiddle.getBombNum();
if (num < 10) {
txtBombNum.setText("00" + num);
} else if (num < 100) {
txtBombNum.setText("0" + num);
} else {
txtBombNum.setText("" + num);
}
}
});
mnuHard.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(pnl == 1){
bombPanelEasy.reStart();
pnlEasy.setVisible(false);
}else if(pnl == 2){
bombPanelMiddle.reStart();
pnlMiddle.setVisible(false);
}else if(pnl == 3){
bombPanelHard.reStart();
}
pnlMain.add(pnlHard);
pnlHard.setVisible(true);
pnl = 3;
int num = bombPanelHard.getBombNum();
if (num < 10) {
txtBombNum.setText("00" + num);
} else if (num < 100) {
txtBombNum.setText("0" + num);
} else {
txtBombNum.setText("" + num);
}
}
});
mnuExit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
dispose();
}
});
mnuAbout.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
new About();
}
});
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -