java文本框中读取回车

一般而言,在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日。

原文出处:http://blog.sina.com.cn/s/blog_908652640100ut12.html

 

posted on 2014-04-20 20:55  _故乡的原风景  阅读(593)  评论(0编辑  收藏  举报