文本组件用来接收用户输入的信息,主要包括文本框(JTextField)、文本域(JTextArea)。
文本组件共同的父类是JTextComponent
JTextComponent类常用方法:
1、JTextField是文本框,只能接收单行文本。
常用构造方法:
2、子类JPasswordField,表示密码框,不显示用户输入的真实信息,新创建的密码框默认的回显字符为“*”。
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); } }