java学习——59.文本编辑组件
Java中的文本编辑组件主要有:JTextField(文本行)、JPasswordField(密码行)、JTextArea(文本区)。
1、JTextComponet文本编辑组件类
JTextComponet类是所有文本编辑组件的父类,其中声明的方法均可在文本行或文本区中使用。
其声明如下:
public abstract class JTextComponent extends JComponent implements Scrollable,Accessible
{
public String getText() //获得文本行中的内容
public void setText(Stringtext) //设置文本行中的内容
public void setEditable(boolean edit) //设置文本行是否可编辑
public boolean isEditable() //判断文本行是否可编辑
}
2、JTextField单行文本编辑框
其用法与awt中的TextField基本相同,只是增加了一个方法:
public void setHorizontalAlignment(int alignment)
此方法用于设置文本行中文字的水平对齐方式。取值为JTextField.LEFT(左对齐)、JTextField.RIGHT(右对齐)、JTextField.CENTER(居中对齐)。
3、JPasswordField密码框
是JTextField的子类,用于输入密码的一行字符串,不明文显示原字符,只以“****”显示。
其所有的方法与JTextField一致。
4、JTextArea文本区
前两种文本编辑组件均只能输入或显示一行字符。而JTextArea可显示多行字符。它的基本操作与文本行类似。其声明如下:
public class JTextArea extends JTextComponent
{
public JTextArea()
public JTextArea(Stringtext) //text指定初始显示文本
public JTextArea(int rows, int columns) //指定行数和列数
public JTextArea(Stringtext, int rows, int columns)
}
5、例:本例以用户登陆界面为例,说明文本编辑组件的用法。
其完整代码如下:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class LoginJFrame extends JFrame{
private JTextField username;
private JPasswordField password;
private JTextArea shuoming;
public LoginJFrame(){
super("登录");
this.setLocationRelativeTo(null);
this.setSize(250,160);
this.setVisible(true);
this.setLayout(new GridLayout(2,1));
JPanel user_panel=new JPanel();
user_panel.add(new JLabel("请输入用户名:"));
username=new JTextField(10);//文本行
user_panel.add(username);
user_panel.add(new JLabel("请输入密 码:"));
password=new JPasswordField(10);//密码行
user_panel.add(password);
this.getContentPane().add(user_panel);
JPanel area_panel=new JPanel();
shuoming=new JTextArea(3,20);//文本区
shuoming.setLineWrap(true);//设置文本区自动换行
area_panel.add(shuoming);
this.getContentPane().add(area_panel);
}
public static void main(String args[]){
new LoginJFrame();
}
}
其运行结果如下:
如图所示,用户名是JTextField单行文本行,以明文输入。密码是JPasswordField密码行,以密文输入。底下是一个文本区,3行20列的,占满 了整个框架。