package com.java4_18.snak05; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JPanel; import com.java4_18.snak05.SnakPanle.SnakeThread; public class Button extends JPanel{ SnakPanle snakPanle; Button(SnakPanle snakPanle){ this.snakPanle = snakPanle; this.setBounds(0, 440, 706, 60); JButton pause = new JButton("暂停游戏"); JButton continu = new JButton("继续游戏"); JButton restart = new JButton("重新开始"); this.add(pause); this.add(continu); this.add(restart); pause.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { Config.isgone = false; } }); continu.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { Config.isgone = true; snakPanle.setFocusable(true); snakPanle.requestFocus(); } }); restart.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { snakPanle.snakeThread.stopThread();//把当前线程停掉 //重新在蛇运动的面板上创建原始的蛇和食物 Food food = new Food(); snakPanle.food = food; snakPanle.snake = new Snake(food); //把控制条件还原 Config.isgone = true; Config.islive = true; //在面板上创建一个新的线程 SnakeThread snakeThread = snakPanle.new SnakeThread(); snakeThread.start(); snakPanle.snakeThread = snakeThread; //获取键盘焦点 snakPanle.setFocusable(true); snakPanle.requestFocus(); } }); } }
