Swing 中使用 JTextField 类实现一个单行文本框,它允许用户输入单行的文本信息。该类的常用构造方法如下。
JTextField():创建一个默认的文本框。
JTextField(String text):创建一个指定初始化文本信息的文本框。
JTextField(int columns):创建一个指定列数的文本框。
JTextField(String text,int columns):创建一个既指定初始化文本信息,又指定列数的文本框。
JTextField 类的常用方法如表 1 所示。
方法名称 | 说明 |
---|---|
Dimension getPreferredSize() | 获得文本框的首选大小 |
void scrollRectToVisible(Rectangle r) | 向左或向右滚动文本框中的内容 |
void setColumns(int columns) | 设置文本框最多可显示内容的列数 |
void setFont(Font f) | 设置文本框的字体 |
void setScrollOffset(int scrollOffset) | 设置文本框的滚动偏移量(以像素为单位) |
void setHorizontalAlignment(int alignment) | 设置文本框内容的水平对齐方式 |
例 1
使用 JPrame 组件创建一个窗口,然后向窗口中添加三个 JTextField 文本框。具体实现代码如下:
package ch17; import java.awt.Font; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; public class JTextFieldDemo { public static void main(String[] agrs) { JFrame frame=new JFrame("Java文本框组件示例"); //创建Frame窗口 JPanel jp=new JPanel(); //创建面板 JTextField txtfield1=new JTextField(); //创建文本框 txtfield1.setText("普通文本框"); //设置文本框的内容 JTextField txtfield2=new JTextField(28); txtfield2.setFont(new Font("楷体",Font.BOLD,16)); //修改字体样式 txtfield2.setText("指定长度和字体的文本框"); JTextField txtfield3=new JTextField(30); txtfield3.setText("居中对齐"); txtfield3.setHorizontalAlignment(JTextField.CENTER); //居中对齐 jp.add(txtfield1); jp.add(txtfield2); jp.add(txtfield3); frame.add(jp); frame.setBounds(300,200,400,100); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }
上述程序中,第一个文本框 txtfield1 使用 JTextField 的默认构造方法创建;第二个文本框 txtfield2 在创建时指定了文本框的长度,同时还修改了文本的字体样式;第三个文本框 txtfield3 设置文本为居中对齐。
程序运行后在窗口中显示三个文本框,效果如图 1 所示。
图1 文本框组件运行效果