加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

java文本框(JTextField)响应回车按键的方法

(2011-09-26 10:13:49)
标签:

it

一般而言,在java语言中,响应JTextField回车按键有两种方法:

一.捕获文本框动作事件;二,捕获键盘事件中得回车按键。

两种方法都可以响应键盘的回车按键,捕获文本框动作事件的方法比较而言,较容易实现,代码简洁。

但是捕获键盘事件中的回车按键也有它可取之处,比如文本框对组合键的响应(如qq中的Enter+Ctrl发送信息)。

 

1.捕获文本框动作事件(即回车按钮),实现ActionListener接口。

测试程序代码如下:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class text extends JFrame implements ActionListener
 
 private static text frm;
 private static JTextField txt;
 text()
 {
  setTitle("TextField Test");  
  setLocation(200, 200);
  setSize(200, 150);
 
 public static void main(String[] args)
  
  frm=new text();
  frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
  frm.setLayout(new FlowLayout());  
  txt = new JTextField(12);
  txt.addActionListener(frm);
  frm.add(txt); 
  frm.setVisible(true);
 }
 public void actionPerformed(ActionEvent e)
 {
  if(e.getSource()==txt)
  {
   txt.setText("");            //在文本框按下回车键,将文本框内容清空,并在其中显示"Hello World!
   txt.setText("Hello World!");
  }
 }
}

2.捕获键盘事件中得回车按键(KeyEvent.VK_ENTER),实现KeyListener接口。

测试程序代码如下:

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

public class text extends JFrame implements KeyListener
 
 private static text frm;
 private static JTextField txt;
 text()
 {
  setTitle("TextField Test");  
  setLocation(200, 200);
  setSize(220, 100);
 
 public static void main(String[] args)
  
  frm=new text();
  frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
  frm.setLayout(new FlowLayout());  
  txt = new JTextField(12);
  txt.addKeyListener(frm);
  frm.add(txt); 
  frm.setVisible(true);
 
 public void keyPressed(KeyEvent  e)
   
  if(e.getSource()==txt)
  {
   if(e.getKeyCode() == KeyEvent.VK_ENTER) //判断按下的键是否是回车键
    
    txt.setText("");   
    txt.setText("Hello World!");
   }
   
 
 public void keyReleased(KeyEvent e)
  
 }
 public void keyTyped(KeyEvent  e)
  
 }
}

后记:此两种方法是在近期学习java语言中遇到的,今将其整理,加深印象,希望对大家也有所帮助!

                                                                                    周晓宇                                                                                           2011年9月26日。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有