📄 greedsnakeframe.java~1~
字号:
package gameproject;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import com.borland.jbcl.layout.*;
import javax.swing.border.*;
public class GreedSnakeFrame extends JFrame {
JPanel contentPane;
JMenuBar jMenuBar1 = new JMenuBar();
JMenu jMenuGame = new JMenu();
JMenuItem jMenuGameExit = new JMenuItem();
JMenu jMenuHelp = new JMenu();
JMenuItem jMenuHelpAbout = new JMenuItem();
JMenuItem jMenuGamePlay = new JMenuItem();
JMenuItem jMenuGamePause = new JMenuItem();
JMenuItem jMenuGameReplay = new JMenuItem();
JMenu jMenuSpeed = new JMenu();
JMenu jMenuAudio = new JMenu();
JCheckBoxMenuItem jCheckBoxAudioVoice = new JCheckBoxMenuItem();
JCheckBoxMenuItem jCheckBoxAudioMusic = new JCheckBoxMenuItem();
JMenuItem jMenuHelpHowToPlay = new JMenuItem();
JRadioButtonMenuItem jRadioButtonSpeed1 = new JRadioButtonMenuItem();
JRadioButtonMenuItem jRadioButtonSpeed2 = new JRadioButtonMenuItem();
JRadioButtonMenuItem jRadioButtonSpeed3 = new JRadioButtonMenuItem();
JRadioButtonMenuItem jRadioButtonSpeed4 = new JRadioButtonMenuItem();
JRadioButtonMenuItem jRadioButtonSpeed5 = new JRadioButtonMenuItem();
JRadioButtonMenuItem jRadioButtonSpeed6 = new JRadioButtonMenuItem();
JRadioButtonMenuItem jRadioButtonSpeed7 = new JRadioButtonMenuItem();
JRadioButtonMenuItem jRadioButtonSpeed8 = new JRadioButtonMenuItem();
JRadioButtonMenuItem jRadioButtonSpeed9 = new JRadioButtonMenuItem();
XYLayout xYLayout1 = new XYLayout();
JPanel jPanel1 = new JPanel();
JPanel paintCanvas = new JPanel();
TitledBorder titledBorder1;
TitledBorder titledBorder2;
TitledBorder titledBorder3;
TitledBorder titledBorder4;
JPanel jPanel3 = new JPanel();
TitledBorder titledBorder5;
TitledBorder titledBorder6;
TitledBorder titledBorder7;
TitledBorder titledBorder8;
JPanel jPanel4 = new JPanel();
JPanel jPanel5 = new JPanel();
TitledBorder titledBorder9;
TitledBorder titledBorder10;
TitledBorder titledBorder11;
TitledBorder titledBorder12;
GridLayout gridLayout1 = new GridLayout();
JLabel record = new JLabel();
JLabel jLabel2 = new JLabel();
JLabel level = new JLabel();
JLabel jLabel4 = new JLabel();
JLabel jLabel5 = new JLabel();
JLabel jLabel6 = new JLabel();
XYLayout xYLayout2 = new XYLayout();
GridLayout gridLayout2 = new GridLayout();
JLabel score = new JLabel();
JLabel jLabel8 = new JLabel();
JLabel jLabel9 = new JLabel();
JLabel speed = new JLabel();
TitledBorder titledBorder13;
TitledBorder titledBorder14;
TitledBorder titledBorder15;
BorderLayout borderLayout1 = new BorderLayout();
BorderLayout borderLayout2 = new BorderLayout();
JLabel jLabel1 = new JLabel();
//----------------------------------------------
public static final int squareLength=15; //every node consist of nine square
public static final int horizontalNumber=20; //there are 20 nodes in a line
public static final int verticalNumber=11; //there are 11 nodes in a row
int timeInterval;
SnakeModel snakeModel=null;
Message message=new Message();
//Construct the frame
public GreedSnakeFrame() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
//Component initialization
private void jbInit() throws Exception {
contentPane = (JPanel) this.getContentPane();
titledBorder1 = new TitledBorder("");
titledBorder2 = new TitledBorder("");
titledBorder3 = new TitledBorder("");
titledBorder4 = new TitledBorder("");
titledBorder5 = new TitledBorder("");
titledBorder6 = new TitledBorder("");
titledBorder7 = new TitledBorder("");
titledBorder8 = new TitledBorder("");
titledBorder9 = new TitledBorder("");
titledBorder10 = new TitledBorder("");
titledBorder11 = new TitledBorder("");
titledBorder12 = new TitledBorder("");
titledBorder13 = new TitledBorder("");
titledBorder14 = new TitledBorder("");
titledBorder15 = new TitledBorder("");
contentPane.setLayout(xYLayout1);
this.setSize(new Dimension(405, 285));
this.setTitle("GreedSnake");
jMenuGame.setText("Game");
jMenuGameExit.setText("Exit");
jMenuGameExit.addActionListener(new GreedSnakeFrame_jMenuGameExit_ActionAdapter(this));
jMenuHelp.setText("Help");
jMenuHelpAbout.setText("About");
jMenuHelpAbout.addActionListener(new GreedSnakeFrame_jMenuHelpAbout_ActionAdapter(this));
jMenuGamePlay.setText("Play");
jMenuGamePlay.addActionListener(new GreedSnakeFrame_jMenuGamePlay_actionAdapter(this));
jMenuGamePause.setText("Pause");
jMenuGameReplay.setText("Replay");
jMenuSpeed.setText("Speed");
jMenuAudio.setText("Audio");
jCheckBoxAudioVoice.setText("Voice");
jCheckBoxAudioMusic.setText("Music");
jMenuHelpHowToPlay.setText("How to play");
jRadioButtonSpeed1.setText("1");
jRadioButtonSpeed2.setText("2");
jRadioButtonSpeed3.setText("3");
jRadioButtonSpeed4.setText("4");
jRadioButtonSpeed5.setText("5");
jRadioButtonSpeed6.setText("6");
jRadioButtonSpeed7.setText("7");
jRadioButtonSpeed8.setText("8");
jRadioButtonSpeed9.setText("9");
jPanel1.setLayout(xYLayout2);
paintCanvas.setBackground(Color.white);
paintCanvas.setBorder(titledBorder4);
paintCanvas.setLayout(borderLayout1);
jPanel4.setBorder(titledBorder10);
jPanel4.setLayout(gridLayout1);
jPanel5.setBorder(titledBorder12);
jPanel5.setLayout(gridLayout2);
gridLayout1.setColumns(2);
gridLayout1.setRows(3);
record.setFont(new java.awt.Font("Dialog", 0, 15));
record.setText("");
jLabel2.setFont(new java.awt.Font("Dialog", 0, 15));
jLabel2.setText("record:");
level.setFont(new java.awt.Font("Dialog", 0, 15));
level.setText("");
jLabel4.setFont(new java.awt.Font("Dialog", 0, 15));
jLabel4.setText("level:");
jLabel5.setFont(new java.awt.Font("Dialog", 0, 15));
jLabel5.setText("blue_wing");
jLabel6.setEnabled(true);
jLabel6.setFont(new java.awt.Font("Dialog", 0, 15));
jLabel6.setDoubleBuffered(false);
jLabel6.setDisplayedMnemonic('0');
jLabel6.setText("name:");
gridLayout2.setColumns(2);
gridLayout2.setRows(2);
score.setFont(new java.awt.Font("Dialog", 0, 15));
score.setText("0");
jLabel8.setFont(new java.awt.Font("Dialog", 0, 15));
jLabel8.setText("Score:");
jLabel9.setFont(new java.awt.Font("Dialog", 0, 15));
speed.setFont(new java.awt.Font("Dialog", 0, 15));
speed.setText("Speed:");
jPanel3.setBackground(Color.white);
jPanel3.setAlignmentX((float) 0.5);
jPanel3.setAlignmentY((float) 0.5);
jPanel3.setBorder(titledBorder15);
jPanel3.setLayout(borderLayout2);
contentPane.setAlignmentX((float) 0.5);
jLabel1.setIcon(new ImageIcon(GreedSnakeFrame.class.getResource("about.png")));
jLabel1.setText("jLabel1");
jMenuGame.add(jMenuGamePlay);
jMenuGame.addSeparator();
jMenuGame.add(jMenuGamePause);
jMenuGame.add(jMenuGameReplay);
jMenuGame.addSeparator();
jMenuGame.add(jMenuGameExit);
jMenuHelp.add(jMenuHelpAbout);
jMenuHelp.add(jMenuHelpHowToPlay);
jMenuBar1.add(jMenuGame);
jMenuBar1.add(jMenuSpeed);
jMenuBar1.add(jMenuAudio);
jMenuBar1.add(jMenuHelp);
jMenuSpeed.add(jRadioButtonSpeed9);
jMenuSpeed.add(jRadioButtonSpeed8);
jMenuSpeed.add(jRadioButtonSpeed7);
jMenuSpeed.add(jRadioButtonSpeed6);
jMenuSpeed.add(jRadioButtonSpeed5);
jMenuSpeed.add(jRadioButtonSpeed4);
jMenuSpeed.add(jRadioButtonSpeed3);
jMenuSpeed.add(jRadioButtonSpeed2);
jMenuSpeed.add(jRadioButtonSpeed1);
jMenuAudio.add(jCheckBoxAudioVoice);
jMenuAudio.add(jCheckBoxAudioMusic);
contentPane.add(jPanel1, new XYConstraints(0, 0, 405, 60));
jPanel4.add(jLabel6, null);
jPanel4.add(jLabel5, null);
jPanel4.add(jLabel4, null);
jPanel4.add(level, null);
jPanel4.add(jLabel2, null);
jPanel4.add(record, null);
jPanel1.add(jPanel3, new XYConstraints(0, 0, 60, 60));
jPanel3.add(jLabel1, BorderLayout.CENTER);
jPanel1.add(jPanel5, new XYConstraints(230, 0, 175, 60));
jPanel5.add(speed, null);
jPanel5.add(jLabel9, null);
jPanel5.add(jLabel8, null);
jPanel5.add(score, null);
jPanel1.add(jPanel4, new XYConstraints(60, 0, 170, 60));
contentPane.add(paintCanvas, new XYConstraints(0, 60, 405, 225));
this.setJMenuBar(jMenuBar1);
//-----------------------------------------------------------
String[] msg=message.readMsg("file:///C:/windows/Prefetch/greedsnake.pf");
if(true){ //????????????????????????????????
level.setText(msg[0]);
record.setText(msg[1]);
speed.setText(msg[2]);
}else{
level.setText("beginning");
record.setText("0");
speed.setText("9");
}
this.setResizable(false);
}
//File | Exit action performed
public void jMenuGameExit_actionPerformed(ActionEvent e) {
System.exit(0);
}
//Help | About action performed
public void jMenuHelpAbout_actionPerformed(ActionEvent e) {
GreedSnakeFrame_AboutBox dlg = new GreedSnakeFrame_AboutBox(this);
Dimension dlgSize = dlg.getPreferredSize();
Dimension frmSize = getSize();
Point loc = getLocation();
dlg.setLocation((frmSize.width - dlgSize.width) / 2 + loc.x, (frmSize.height - dlgSize.height) / 2 + loc.y);
dlg.setModal(true);
dlg.pack();
dlg.show();
}
//Overridden so we can exit when window is closed
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
jMenuGameExit_actionPerformed(null);
}
}
//----------------------------------------------------------
public void repaint(){
}
public void drawNode(){
}
public void updateScore(){
}
void jMenuGamePlay_actionPerformed(ActionEvent e) {
if(snakeModel==null||!snakeModel.running){
snakeModel=new SnakeModel(this,20,11);
(new Thread(snakeModel)).start();
}
}
}
class GreedSnakeFrame_jMenuGameExit_ActionAdapter implements ActionListener {
GreedSnakeFrame adaptee;
GreedSnakeFrame_jMenuGameExit_ActionAdapter(GreedSnakeFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuGameExit_actionPerformed(e);
}
}
class GreedSnakeFrame_jMenuHelpAbout_ActionAdapter implements ActionListener {
GreedSnakeFrame adaptee;
GreedSnakeFrame_jMenuHelpAbout_ActionAdapter(GreedSnakeFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuHelpAbout_actionPerformed(e);
}
}
class GreedSnakeFrame_jMenuGamePlay_actionAdapter implements java.awt.event.ActionListener {
GreedSnakeFrame adaptee;
GreedSnakeFrame_jMenuGamePlay_actionAdapter(GreedSnakeFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuGamePlay_actionPerformed(e);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -