package TuiXiangZi;
import java.awt.Frame;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
public class APP
{
public static void main(String[] args)
{
new MainFrame();
}
}
class MainFrame extends Frame implements KeyListener
{
public MainFrame()
{
//做灰太狼
wolfInit();
//设置背景
setBackGroud();
//设置整个窗体
setMainFrameUI();
//为窗口添加一个可以监督用户是否点击键盘的监听器
this.addKeyListener(this);
}
private void wolfInit()
{
//使用一张图片来模拟人物
//1.创建一张图片,人物图片
Icon i = new ImageIcon("wolf-zm.png");
//2.使用JLabel组件模拟人物
lab_wolf = new JLabel(i);
//3.设置人物在屏幕中显示的位置
lab_wolf.setBounds(300,300,50,50);
//4.把这个人物放到窗体里面
this.add(lab_wolf);
}
JLabel lab_wolf;
//背景初始化
private void setBackGroud()
{
//创建一个图片对象
Icon i = new ImageIcon("bg.png");
//使用JLabel制作背景
JLabel lab_bg = new JLabel(i);
//设置要添加组建的位置和大小
lab_bg.setBounds(12,36,800,600);
//将背景组将添加到窗体中
this.add(lab_bg);
}
//设置主窗体
private void setMainFrameUI()
{
//设置窗体的布局
this.setLayout(null);
//设置窗体的位置
this.setBounds(110,30,826,650);
//设置窗体主题
this.setTitle("推箱子");
//设置窗体可见
this.setVisible(true);
}
public void keyReleased(KeyEvent e)
{
//获取键码值
int key = e.getKeyCode();
if(key==39)
{
//让人物向右移动
//获取人物的位置
int x =(int)lab_wolf.getLocation().getX();
int y =(int)lab_wolf.getLocation().getY();
//让人物移动,就是重新设置人物的位置
//人物就是JLabel这个组件
lab_wolf.setLocation(x+50, y);
//人物移动后进行图片更新
Icon i = new ImageIcon("wolf-ym.png");
lab_wolf.setIcon(i);
}
if(key==37)
{
int x =(int)lab_wolf.getLocation().getX();
int y =(int)lab_wolf.getLocation().getY();
lab_wolf.setLocation(x-50, y);
Icon i = new ImageIcon("wolf-zb.png");
lab_wolf.setIcon(i);
}
if(key==38)
{
int x =(int)lab_wolf.getLocation().getX();
int y =(int)lab_wolf.getLocation().getY();
lab_wolf.setLocation(x, y-50);
Icon i = new ImageIcon("wolf-sm.png");
lab_wolf.setIcon(i);
}
if(key==40)
{
int x =(int)lab_wolf.getLocation().getX();
int y =(int)lab_wolf.getLocation().getY();
lab_wolf.setLocation(x, y+50);
Icon i = new ImageIcon("wolf-zm.png");
lab_wolf.setIcon(i);
}
}
public void keyPressed(KeyEvent e)
{
}
public void keyTyped(KeyEvent e)
{
}
}