创建一个窗口,在窗口添加一个文本框,输入一行文本,点击回车后在控制台打印输出字符串长度。
package com.swing;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class TextFrame {
public TextFrame() {
JFrame frame = new JFrame("处理ActionEvent事件窗口"); //创建窗体
frame.setBounds(300,300,400,300); //设置窗体位置大小
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置默认关闭方式
frame.setResizable(false); //设置窗口大小不可变
JPanel panel = new JPanel(); //创建面板
JTextField text = new JTextField(20); //创建文本行
JLabel label = new JLabel("请输入一段字符串:");
text.addKeyListener(new KeyListener() { //创建文本行的监听事件
@Override
public void keyTyped(KeyEvent e) {
//如果检测到“回车”按键,并且文本框非空,进行控制台输出
if(e.getKeyChar() == KeyEvent.VK_ENTER && !text.getText().equals("")) {
String s = text.getText(); //获取文本框内容
System.out.println(s+": "+s.length()); //获取文本框里的内容并打印输出
}
}
@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
}
@Override
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
}
});
panel.add(label);
panel.add(text);
frame.add(panel);
frame.setVisible(true);
}
public static void main(String[] args) {
new TextFrame();
}
}
运行实例: