mainframe.java

来自「java贪吃蛇游戏编程」· Java 代码 · 共 92 行

JAVA
92
字号
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 + =
减小字号Ctrl + -
显示快捷键?