📄 mainframe.java
字号:
package com.zk1;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class MainFrame extends JFrame
{
private JMenuBar menuBar=new JMenuBar();
private JMenu mainMenu=new JMenu("游戏");
private JMenuItem pause=new JMenuItem("暂停");
private JMenuItem resume=new JMenuItem("继续");
MainPanel mainPanel=new MainPanel(this);
public MainFrame(String title)
{
super(title);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setResizable(false);
int sWidth=(int)Toolkit.getDefaultToolkit().getScreenSize().getWidth();
int sHeight=(int)Toolkit.getDefaultToolkit().getScreenSize().getHeight();
int width=1010;//1000,600
int height=660;
this.setBounds((sWidth-width)/2,(sHeight-height)/2,width,height);
initComponents();
initListener();
}
public void gameOver()
{
pause.setEnabled(false);
resume.setEnabled(false);
}
private void initComponents()
{
this.setJMenuBar(menuBar);
menuBar.add(mainMenu);
mainMenu.add(pause);
mainMenu.add(resume);
this.getContentPane().add(mainPanel);
resume.setEnabled(false);
}
private void initListener()
{
this.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e)
{
int sign=mainPanel.getSign();
switch(e.getKeyCode())
{
case 37:
sign=MainPanel.LEFT;
break;
case 38:
sign=MainPanel.UP;
break;
case 39:
sign=MainPanel.RIGHT;
break;
case 40:
sign=MainPanel.DOWN;
break;
}
mainPanel.setSign(sign);
}
});
pause.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
pause.setEnabled(false);
resume.setEnabled(true);
mainPanel.setIsPause(true);
}
});
resume.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
pause.setEnabled(true);
resume.setEnabled(false);
mainPanel.setIsPause(false);
}
});
}
public static void main(String[] args)
{
JDialog.setDefaultLookAndFeelDecorated(true);
JFrame.setDefaultLookAndFeelDecorated(true);
MainFrame frame=new MainFrame("贪吃蛇");
frame.setVisible(true);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -