Java键盘监听事件(急啊!)

来源:百度知道 编辑:UC知道 时间:2024/07/04 16:52:07
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class KeyEventDemo extends JFrame implements ActionListener,KeyListener{
JTextField txt1;
JPanel pnlMain;
public KeyEventDemo(){
pnlMain=new JPanel();
setContentPane(pnlMain);

txt1=new JTextField(10);
btnOK=new JButton("确认");
btnOK.addKeyListener(this);//1

pnlMain.add(txt1);

setVisible(true);
setTitle("好啊");
setSize(300,200);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public void keyTyped(KeyEvent e){//6
char c=e.getKeyChar();
if(c=='o'){
txt1.setText("收到,呵呵");
}

}
public void actionPerformed(){} //5
public void keyTyped(){}//2
public void keyPressed(){}//3
public void keyReleased(){}//4

public static void main(String[] args){
new KeyEventDemo();<

把你的代码按照你的意思改动了一下,应该可以满足你的要求:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class KeyEventDemo extends JFrame implements ActionListener, KeyListener {
JTextField txt1;
JButton btnOK;
JPanel pnlMain;
public KeyEventDemo() {
pnlMain = new JPanel();
setContentPane(pnlMain);

txt1 = new JTextField(10);
btnOK = new JButton("确认");
txt1.addKeyListener(this); //应该是在 TextField 里添加键盘监听事件
btnOK.addActionListener(this);//在按钮上添加事件监听
pnlMain.setLayout(new BorderLayout());//添加布局器
pnlMain.add(txt1,BorderLayout.NORTH); //TextField 布局在上方
pnlMain.add(btnOK,BorderLayout.SOUTH); //Button 布局在下方

setTitle("好啊");
setSize(300, 200);
setVisible(true);//viersible() 函数应该放在最后
setDefaultCloseOperation(EXIT_ON_CLOSE);