java教程:JTextField(文本框)组件使用实例|方法
内容导读: JTextField(文本框)组件 JTextField组件实现一个文本框,用来接受用户输入的单行文本信息,JTextField类提供的常用构造方法如表1所示。
-
JTextField(文本框)组件
JTextField组件实现一个文本框,用来接受用户输入的单行文本信息,JTextField类提供的常用构造方法如表1所示。
表1 JTextField类的常用构造方法
在设置文本框时,可以通过setHorizontalAlignment(int alignment)方法设置文本框内容的水平对齐方式,入口参数可以从JTextField类的3个静态常量LEFT(常量值为2)、CENTER(常量值为0)和RIGHT(常量值为4)中选择。当设为“JTextField.LEFT”时,代表文本框中的内容靠左侧对齐,实际效果如图1所示;当设为“JTextField.CENTER”时,代表文本框中的内容居中对齐,实际效果如图2所示;当设为“JTextField.RIGHT”时,代表文本框中的内容靠右侧对齐,实际效果如图3所示。
图1 靠左侧对齐
图2 居中对齐
图3 靠右侧对齐
JTextField类提供的常用方法如表2所示。
表2 JTextField类提供的常用方法
下面将通过一个例子,讲解JTextField组件的使用方法。
创建一个文本框,并修改文本框的字体样式为“汉真广标”和粗体,字体大小为16,文本框的对齐方式为居中对齐,具体代码如下:
StudySwing\src\com\mwq\Index.java关键代码:
usernameTextField = new JTextField();
usernameTextField.setFont(new Font("汉真广标", Font.BOLD, 16)); // 设置文本框内容的字体样式
usernameTextField.setHorizontalAlignment(JTextField.CENTER); // 设置文本框内容的水平对齐方式
然后为文本框添加一个KeyListener侦听器,负责捕获文本框内容的变化情况,从而获得用户输入的文本信息,关键代码如下:
StudySwing\src\com\mwq\Index.java关键代码:
usernameTextField.addKeyListener(new KeyListener() {
public void keyReleased(KeyEvent e) { // 捕获按键被释放的事件
JTextField usernameTextField = (JTextField) e.getSource();
answerLabel.setText("您输入的用户名是:" + usernameTextField.getText());
}
});
运行该例子,输入“明日科技”后的运行效果如图4所示。
图4 文本框的运行效果
完整代码
StudySwing\src\com\mwq\Index.java完整代码:
package com.mwq;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Toolkit;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class Index {
private JLabel usernameLabel;
private JTextField usernameTextField;
private JLabel answerLabel;
public void add(JFrame frame) {
frame.setTitle("文本框的使用方法");
frame.setLayout(null);
usernameLabel = new JLabel("用户名:");
usernameLabel.setBounds(60, 90, 70, 30);
usernameLabel.setFont(new Font("汉真广标", Font.BOLD, 16));
usernameTextField = new JTextField();
usernameTextField.setBounds(140, 90, 120, 30);
usernameTextField.setFont(new Font("汉真广标", Font.BOLD, 16));// 设置文本框内容的字体样式
usernameTextField.setHorizontalAlignment(JTextField.CENTER);// 设置文本框内容的水平对齐方式
usernameTextField.addKeyListener(new KeyListener() {
public void keyPressed(KeyEvent e) {// 捕获按键被按下的事件
}
public void keyTyped(KeyEvent e) {
}