首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

关于KeyListener接口的有关问题

2012-01-18 
关于KeyListener接口的问题请大家帮我看下下面我写的代码,看看有什么错误啊?为什么总是实现不了按下“1”键

关于KeyListener接口的问题
请大家帮我看下下面我写的代码,看看有什么错误啊?为什么总是实现不了按下“1”键显示“hello”,按下“2”键显示“goodbye”,谢谢

import   java.awt.*;
import   java.awt.event.*;
import   javax.swing.JTextArea;
import   javax.swing.JFrame;

public   class   test   extends   JFrame   implements   KeyListener{
        JTextArea   text_Area;
       
        test(String   title){
                super(title);
               
                int   width   =   200;
                int   height   =   300;
                Point   center   =   GraphicsEnvironment.getLocalGraphicsEnvironment   ().getCenterPoint   ();
                setBounds(center.x   -   width/2,   center.y   -   height/2,   width,   height);
               
                setLayout(new   GridLayout(2,   1,   0,   0));
               
                JPanel   text_Panel   =   new   JPanel();
                add(text_Panel);
                text_Area   =   new   JTextArea();
                text_Area.setEditable   (false);
                text_Panel.add   (text_Area);
               
                setDefaultCloseOperation(EXIT_ON_CLOSE);
                setVisible(true);
        }
       
        public   void   keyTyped(KeyEvent   e){
               
        }
       
        public   void   keyReleased(KeyEvent   e){
               
        }
       
        public   void   keyPressed(KeyEvent   e){
                switch(e.getKeyCode   ()){
                        case   KeyEvent.VK_1:
                                text_Area.setText   ( "Hello ");
                                break;
                        case   KeyEvent.VK_2:
                                text_Area.setText   ( "goodbye ");
                                break;


                }
        }
       
        public   static   void   main(String[]   args){
                test   window   =   new   test( "Test ");
                window.addKeyListener   (window);
        }
}


[解决办法]
帮你改了下代码..吧监听换成对TextArea,监听成功...!
代码通过编译.!
import java.awt.*;
import java.awt.event.*;
import javax.swing.JTextArea;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class test extends JFrame /*implements KeyListener*/{
JTextArea text_Area;

test(String title){
super(title);

int width = 200;
int height = 300;
Point center = GraphicsEnvironment.getLocalGraphicsEnvironment ().getCenterPoint ();
setBounds(center.x - width/2, center.y - height/2, width, height);

setLayout(new GridLayout(2, 1, 0, 0));

JPanel text_Panel = new JPanel();
add(text_Panel);
text_Area = new JTextArea();
text_Area.setEditable(false);
text_Panel.add (text_Area);

setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
System.out.println ( "cs ");
System.out.println ((char)KeyEvent.VK_1);
text_Area.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e){
System.out.println ( "C ");
switch(e.getKeyCode()) {
case KeyEvent.VK_1:
text_Area.setText ( "Hello ");
System.out.println ( "H ");
break;
case KeyEvent.VK_2:
text_Area.setText ( "GoodBye ");
System.out.println ( "8 ");
break;
}
}
});
System.out.println ( "123123132 ");
}
public static void main(String[] args){
test window = new test( "Test ");

}
}

热点排行