文本组件
文本组件用来接收用户输入的信息,主要包括文本框(JTextField)、文本域(JTextArea)。
文本组件共同的父类是JTextComponent
JTextComponent类常用方法:
- String getText() 返回文本组件中所有的文本内容
- String getSelectedText() 返回文本组件中选定的文本内容
- void selectAll() 在文本组件中选中所有内容
- void setEditable() 设置文本组件为可编辑或者不可编辑状态
- void setText(String text) 设置文本组件的内容
- void replaceSelection(String content) 用给定的内容替换当前选定的内容
JTextField
1、JTextField是文本框,只能接收单行文本。
常用构造方法:
- JTextField() 创建一个空的文本框,初始字符串为null
- JTextFiled(int columns) 创建一个具有指定列数的文本框,初始字符串为null
- JTextField(String text) 创建一个显示指定初始字符串的文本框
- JTextField(String text, int column) 创建一个具有指定列数、并显示指定初始字符串的文本框
2、子类JPasswordField,表示密码框,不显示用户输入的真实信息,新创建的密码框默认的回显字符为“*”。
JTextArea
1、JTextArea称为文本域,它能接收多行文本。
常用构造方法:
JTextArea() 创建一个空的文本域
JTextArea(String text) 创建显示初始字符串的文本域
JTextArea(int rows,int columns) 创建具有指定行和列的空文本域
JTextArea(String text,int rows,int columns) 创建显示初始文本并指定了行列的文本域
例:
package com.company.www;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Text {
public static void text() {
JFrame frame = new JFrame("文本组件");
frame.setLayout(new BorderLayout());
frame.setSize(500, 300);
frame.setVisible(true);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel(new BorderLayout());
JTextArea area = new JTextArea(15, 30);
JTextField field = new JTextField();
JButton button = new JButton("提交");
//为按钮添加动作事件
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String s = field.getText();
area.append(s);
}
});
panel1.add(area);
frame.add(panel1);
panel2.add(field, BorderLayout.CENTER);
panel2.add(button, BorderLayout.EAST);
frame.add(panel2, BorderLayout.SOUTH);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(Text::text);
}
}