📄 mainframe.java
字号:
package snake;
import java.awt.*;
import javax.swing.*;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import java.awt.event.*;
import java.util.Currency;
public class MainFrame implements ActionListener{
JFrame jf;
JMenuItem jmiStart;
JMenuItem jmiDeclare;
JMenuItem jmiPause;
JMenuItem jmiRestart;
JMenuItem jmiBackground;
JMenuItem jmiSpeed;
SnakePanel snakePanel;
Thread thread;
Integer i=new Integer(10);
private int frameWidth=600;
private int frameHeight=600;
private Color color=Color.BLUE;
MainFrame(){
jf=new JFrame("Snake");
Container ct=jf.getContentPane();
snakePanel=new SnakePanel();
JMenuBar jmb=new JMenuBar();
JMenu jm=new JMenu("Snake");
jm.setMnemonic('S');
JMenu jm1=new JMenu("设置");
jmiStart=new JMenuItem("开始");
jmiRestart=new JMenuItem("重新开始");
jmiPause=new JMenuItem("暂停");
jmiDeclare=new JMenuItem("说明");
jmiBackground=new JMenuItem("背景颜色");
jmiSpeed=new JMenuItem("设置速度");
thread = new Thread(snakePanel);
snakePanel.setBackground(color);
jf.setJMenuBar(jmb);
jmb.add(jm);
jmb.add(jm1);
jm.add(jmiStart);
jm.add(jmiRestart);
jm.add(jmiPause);
jm.addSeparator();
jm.add(jmiDeclare);
jm1.add(jmiBackground);
jm1.add(jmiSpeed);
ct.add(snakePanel);
thread.start();
jmiRestart.addActionListener(this);
jmiPause.addActionListener(this);
jmiStart.addActionListener(this);
jmiDeclare.addActionListener(this);
jmiBackground.addActionListener(this);
jmiSpeed.addActionListener(this);
jf.setSize(frameWidth,frameHeight);
jf.setResizable(false);
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==jmiStart){
snakePanel.setControl(SnakePanel.START);
}else if(e.getSource()==jmiPause){
snakePanel.setControl(SnakePanel.PAUSE);
}else if(e.getSource()==jmiDeclare){
String str="松涛制作-^_^-"+"\n"+"联系方式:stzsyf@google.com";
JOptionPane.showMessageDialog(jf, str);
}else if(e.getSource()==jmiRestart){
snakePanel.setControl(SnakePanel.RESTART);
}else if(e.getSource()==jmiBackground){
color=JColorChooser.showDialog(jf, "请选择背景颜色", Color.BLUE);
snakePanel.setBackground(color);
}else if(e.getSource()==jmiSpeed){
}
}
public static void main(String [] args){
MainFrame mainFrame = new MainFrame();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -