📄 gameview.java
字号:
package mine.view;
import mine.model.*;
import mine.*;
import mine.view.*;
import mine.listener.*;
import javax.swing.*;
import java.awt.*;
import mine.control.*;
public class GameView
extends JPanel
implements TimeListener, InitListener {
//timelistener
QQButton qqbutton = new QQButton();
MineLeaveView mineleaveview = new MineLeaveView();
TimeView timeview = new TimeView();
BlockViewsPanel blockViewsPanel = new BlockViewsPanel();
GameConfigure gameconfig = GameConfigure.getInstance();
JFrame frame;
GameModel gamemodel;
JPanel statusPanel = new JPanel();
JPanel centerPanel = new JPanel();
PanelManager panelManager = new PanelManager();
public GameView(JFrame frame) {
this.frame = frame;
init();
}
public void init() {
FlowLayout fl = new FlowLayout(FlowLayout.CENTER, 0, 0);
centerPanel.setLayout(fl);
centerPanel.add(qqbutton);
centerPanel.setMinimumSize(new Dimension(28, 28));
statusPanel.setLayout(new BorderLayout());
statusPanel.add(mineleaveview, BorderLayout.WEST);
statusPanel.add(centerPanel, BorderLayout.CENTER);
statusPanel.add(timeview, BorderLayout.EAST);
statusPanel.setSize(10, 28); //只为了高度
panelManager.addGamePanel(blockViewsPanel, statusPanel);
this.setSize(panelManager.getSize());
this.setLayout(null);
this.add(panelManager);
frame.setSize(this.getWidth() + 7, this.getHeight() + 70);
SwingUtilities.updateComponentTreeUI(frame);
}
public void setModel(GameModel gm) {
gamemodel = gm;
qqbutton.setModelAction(gm); //button和模型的联系
gm.setGameTimeListener(this);
gm.setMineLeaveCountListener(mineleaveview); //剩余雷数
gm.setInitListener(this);
blockViewsPanel.setModel(gm);
blockViewsPanel.setGameMouselistener(qqbutton);
}
//----------------------------------------
public void gameTimeChange(int timenumber) {
timeview.gameTimeChange(timenumber);
}
public void gameTimeEnd(int endreason) {
qqbutton.gameTimeEnd(endreason);
blockViewsPanel.gameTimeEnd(endreason);
if (endreason == 0) {
if (gameconfig.isNewRecorder(gameconfig.getLevel(),
gamemodel.getGametime())) {
UsernameDialog ud = new UsernameDialog(frame);
String username = ud.getUsername();
gameconfig.setGameRecoder(gameconfig.getLevel(),
gamemodel.getGametime(),
username);
}
}
}
public void gameTimeStart() {
qqbutton.gameTimeStart();
}
public void gameinit() {
timeview.init();
blockViewsPanel.init();
mineleaveview.init();
qqbutton.init();
init();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -