JAVA中的KeyListener的问题!!!

来源:百度知道 编辑:UC知道 时间:2024/05/18 03:52:39
有个程序,无法实现键盘的监听,高手帮忙看下是哪出错了啊!!!
程序如下:
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Maze {
static private int WIDTH = 607;
static private int HEIGHT = 670;
static JButton reset;
static JButton help;
private static JPanel bb,cc;

public static void main(String[] args) {

JFrame frame = new JFrame("大虾帮帮忙");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(WIDTH, HEIGHT);
frame.setResizable(true);
frame.setLocation(300, 100);
frame.setBackground(Color.WHITE);
Maze maze=new Maze();
bb = maze.jpanel();
cc=maze.panel();
frame.add(cc);
frame.add(bb);
frame.setVisibl

事件监听的应该是一个实体而不是一个面板!

面板要实现KeyListener,必须让其setFocusable(true);

应该是你的两个面板,有键盘事件的那个面板给盖住了吧?都没有出现啊,修改了一下代码!如文字注释,可以运行了!!

import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Maze {
static private int WIDTH = 607;
static private int HEIGHT = 670;
static JButton reset;
static JButton help;
private static JPanel bb,cc;

public static void main(String[] args) {
JFrame frame = new JFrame("大虾帮帮忙");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(WIDTH, HEIGHT);
frame.setResizable(true);
frame.setLocation(300, 100);
frame.setBackground(Color.WHITE);
//改变布局,让两上面板都能看到
frame.getContentPane().s