Java写了一个小游戏,但是用了键盘监听器按键没反应,请大神们帮忙看看
package RGP走迷宫;
import javax.swing.*;
import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
public class MyPanel extends JPanel implements KeyListener,MouseMotionListener{
private static final long serialVersionUID=1L;
private static final int CHANG=480;
private static final int KUAN=480;
private static final int HANG=15;
private static final int LIE=15;
private static final int XIANGSU=32;
private static final int ZUO=0;
private static final int YOU=1;
private static final int SHANG=2;
private static final int XIA=3;
private static final int GUANQIA=2;
private static int grade;
private static int map[][][]= {..
private Image DIImage,DI11Image,DI12Image,DI13Image,DI14Image,DI21Image,DI22Image,
DI23Image,DI24Image,DI31Image,DI32Image,DI33Image,DI34Image,DI41Image,DI42Image;
private Image QIANGImage;
private Image RENImage;
private Image CHUImage;
private Image NEIImage;
private int x,y;
private int count;
private Thread xian;
private int FANG;
public MyPanel() {
setPreferredSize(new Dimension(CHANG,KUAN));
loadImage();
FANG=XIA;
x=1;
y=1;
grade=1;
count=0;
setFocusable(true);
addKeyListener(this);
xian=new Thread(new AnimationThread());
xian.start();
this.addKeyListener(this);
}
public void paintComponent(Graphics g) {..
private void RENWU(Graphics g) {..
private void loadImage() {..
private void DITU(Graphics g) {..
public void NEXT() {..
private void DUIHUA(String str) {..
public void keyPressed(KeyEvent e) {
if(e.getKeyCode()==KeyEvent.VK_UP) YIDONG(SHANG);
if(e.getKeyCode()==KeyEvent.VK_DOWN) YIDONG(XIA);
if(e.getKeyCode()==KeyEvent.VK_LEFT) YIDONG(ZUO);
if(e.getKeyCode()==KeyEvent.VK_RIGHT) YIDONG(YOU);
repaint();
if(map[grade-1][x][y]==2) {
if(grade==GUANQIA) {
String str="恭喜通过第"+grade+"关!\n是否进入下一关?";
int type=JOptionPane.YES_NO_OPTION;
int i=0;
i=JOptionPane.showConfirmDialog(null, str,"过关",type);
if(i==1) System.exit(0);
else if(i==0) NEXT();
}
}
}
private boolean GUIZE(int x,int y) {..
private void YIDONG (int event) {..
private class AnimationThread extends Thread{..
public void keyReleased(KeyEvent e) {..
public void keyTyped(KeyEvent e) {..
public void mouseDragged(MouseEvent arg0) {..
public void mouseMoved(MouseEvent arg0) {..
public static void main(String[] args) {
JFrame mi = new JFrame();
mi.setTitle("RGP走迷宫");
mi.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE ) ;
mi.setVisible(true);
MyPanel panel=new MyPanel();
Container contentPane=mi.getContentPane();
contentPane.add(panel);
panel.setFocusable(true);
mi.pack();
}
}
import javax.swing.*;
import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
public class MyPanel extends JPanel implements KeyListener,MouseMotionListener{
private static final long serialVersionUID=1L;
private static final int CHANG=480;
private static final int KUAN=480;
private static final int HANG=15;
private static final int LIE=15;
private static final int XIANGSU=32;
private static final int ZUO=0;
private static final int YOU=1;
private static final int SHANG=2;
private static final int XIA=3;
private static final int GUANQIA=2;
private static int grade;
private static int map[][][]= {..
private Image DIImage,DI11Image,DI12Image,DI13Image,DI14Image,DI21Image,DI22Image,
DI23Image,DI24Image,DI31Image,DI32Image,DI33Image,DI34Image,DI41Image,DI42Image;
private Image QIANGImage;
private Image RENImage;
private Image CHUImage;
private Image NEIImage;
private int x,y;
private int count;
private Thread xian;
private int FANG;
public MyPanel() {
setPreferredSize(new Dimension(CHANG,KUAN));
loadImage();
FANG=XIA;
x=1;
y=1;
grade=1;
count=0;
setFocusable(true);
addKeyListener(this);
xian=new Thread(new AnimationThread());
xian.start();
this.addKeyListener(this);
}
public void paintComponent(Graphics g) {..
private void RENWU(Graphics g) {..
private void loadImage() {..
private void DITU(Graphics g) {..
public void NEXT() {..
private void DUIHUA(String str) {..
public void keyPressed(KeyEvent e) {
if(e.getKeyCode()==KeyEvent.VK_UP) YIDONG(SHANG);
if(e.getKeyCode()==KeyEvent.VK_DOWN) YIDONG(XIA);
if(e.getKeyCode()==KeyEvent.VK_LEFT) YIDONG(ZUO);
if(e.getKeyCode()==KeyEvent.VK_RIGHT) YIDONG(YOU);
repaint();
if(map[grade-1][x][y]==2) {
if(grade==GUANQIA) {
String str="恭喜通过第"+grade+"关!\n是否进入下一关?";
int type=JOptionPane.YES_NO_OPTION;
int i=0;
i=JOptionPane.showConfirmDialog(null, str,"过关",type);
if(i==1) System.exit(0);
else if(i==0) NEXT();
}
}
}
private boolean GUIZE(int x,int y) {..
private void YIDONG (int event) {..
private class AnimationThread extends Thread{..
public void keyReleased(KeyEvent e) {..
public void keyTyped(KeyEvent e) {..
public void mouseDragged(MouseEvent arg0) {..
public void mouseMoved(MouseEvent arg0) {..
public static void main(String[] args) {
JFrame mi = new JFrame();
mi.setTitle("RGP走迷宫");
mi.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE ) ;
mi.setVisible(true);
MyPanel panel=new MyPanel();
Container contentPane=mi.getContentPane();
contentPane.add(panel);
panel.setFocusable(true);
mi.pack();
}
}
...全文
相关推荐
自己编写一个Java监听器
"本文档主要介绍了如何自己编写一个Java监听器,包括监听器的工作原理、组成以及实现步骤,并提供了一个简单的示例代码来阐述这一过程。"在Java编程中,监听器是一种用于响应特定事件的机制,它使得
java 写的吹泡泡 java界面小游戏
标题中的“java 写的吹泡泡 java界面小游戏”指的是一个使用Java编程语言开发的桌面应用程序,它具有图形用户界面(GUI),用户可以进行互动玩一个吹泡泡的小游戏。
一个用Java写的快速输入小游戏。.zip
标题中的“一个用Java写的快速输入小游戏”表明这是一个基于Java编程语言开发的小型游戏程序,主要特点是玩家需要通过快速输入来参与游戏。
java监听器
- `KeyListener`用于监听键盘事件,如按键按下、释放等。- `TableModelListener`在Java Swing的JTable中用于监听表格数据的变化。
java写的RPG小游戏
Java提供了键盘和鼠标监听器来实现这一功能。通过以上组件,开发者构建了一个完整的Java RPG游戏。这个压缩包中的"RPGGame"很可能包含了源代码、资源文件以及必要的配置文件。


Java SE
