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