我写了一个监听键盘事件的程序,编译好了,但我运行时,没有反应.下面是我的代码
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;public class keyevent implements KeyListener
{
JFrame frame=new JFrame("监听键盘事件");
JPanel panel=new JPanel();
JLabel label1=new JLabel("监听按下的建");
JLabel label2=new JLabel("监听松开的建");
JLabel label3=new JLabel("监听点击的建");
JPanel panel2=new JPanel(); public keyevent()
{
Container cp=frame.getContentPane();
cp.setLayout(new BorderLayout());
cp.add(panel,BorderLayout.CENTER);
panel2.setLayout(new FlowLayout(FlowLayout.LEFT));
panel2.add(label1);
panel2.add(label2);
panel2.add(label3);
cp.add(panel2,BorderLayout.SOUTH);
frame.setBounds(300,200,400,300);
frame.setVisible(true);
panel.addKeyListener(this);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}public static void main(String[] args)
{
keyevent diao=new keyevent();
}
public void keyPressed(KeyEvent event)
{
label1.setText("你按的建是");
}
public void keyReleased(KeyEvent e)
{
label2.setText("是你松开的建");
}
public void keyTyped(KeyEvent e)
{
label3.setText("是你点击的建");
}
}
请问这里哪里出错了,请帮我改一下,谢谢了.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;public class keyevent implements KeyListener
{
JFrame frame=new JFrame("监听键盘事件");
JPanel panel=new JPanel();
JLabel label1=new JLabel("监听按下的建");
JLabel label2=new JLabel("监听松开的建");
JLabel label3=new JLabel("监听点击的建");
JPanel panel2=new JPanel(); public keyevent()
{
Container cp=frame.getContentPane();
cp.setLayout(new BorderLayout());
cp.add(panel,BorderLayout.CENTER);
panel2.setLayout(new FlowLayout(FlowLayout.LEFT));
panel2.add(label1);
panel2.add(label2);
panel2.add(label3);
cp.add(panel2,BorderLayout.SOUTH);
frame.setBounds(300,200,400,300);
frame.setVisible(true);
panel.addKeyListener(this);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}public static void main(String[] args)
{
keyevent diao=new keyevent();
}
public void keyPressed(KeyEvent event)
{
label1.setText("你按的建是");
}
public void keyReleased(KeyEvent e)
{
label2.setText("是你松开的建");
}
public void keyTyped(KeyEvent e)
{
label3.setText("是你点击的建");
}
}
请问这里哪里出错了,请帮我改一下,谢谢了.
import java.awt.event.*;
import javax.swing.*;public class keyevent implements KeyListener {
JFrame frame = new JFrame("监听键盘事件");
JPanel panel = new JPanel();
JLabel label1 = new JLabel("监听按下的建");
JLabel label2 = new JLabel("监听松开的建");
JLabel label3 = new JLabel("监听点击的建");
JPanel panel2 = new JPanel(); public keyevent() {
Container cp = frame.getContentPane();
cp.setLayout(new BorderLayout());
cp.add(panel, BorderLayout.CENTER);
panel2.setLayout(new FlowLayout(FlowLayout.LEFT));
panel2.add(label1);
panel2.add(label2);
panel2.add(label3);
cp.add(panel2, BorderLayout.SOUTH);
frame.setBounds(300, 200, 400, 300);
frame.setVisible(true);
frame.addKeyListener(this);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
} public static void main(String[] args) {
keyevent diao = new keyevent();
} public void keyPressed(KeyEvent event) {
label1.setText("你按的建是" + event.getKeyCode());
} public void keyReleased(KeyEvent e) {
label2.setText("是你松开的建" + e.getKeyCode());
} public void keyTyped(KeyEvent e) {
label3.setText("是你点击的建" + e.getKeyCode());
}
}
import javax.swing.JLabel;@SuppressWarnings("serial")
public class ClientFrame extends JFrame implements KeyListener {
private JLabel label;
{
label = new JLabel("wow");
}
public ClientFrame() {
setSize(640, 480);
add(label);
addKeyListener(this);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
} public static void main(String[] args) {
new ClientFrame();
}
public void keyPressed(KeyEvent e) {
System.out.println("OK");
label.setText("give me five");
} public void keyReleased(KeyEvent e) {
System.out.println("NOT ok");
} public void keyTyped(KeyEvent e) {
System.out.println("absolutely OK");
} }还是跟我混的好.. 呵呵.. 我刚开始一直把keylistener 当成 mouse 来测试..寒死...