当前位置: 首页 > 教程 > Java Swing >

Java JTextArea

精华
小牛编辑
104浏览
2023-03-14

1 Java JTextArea的介绍

JTextArea类的对象是显示文本的多行区域。它允许编辑多行文本。它继承了JTextComponent类。

2 Java JTextArea的声明

我们来看一下javax.swing.JTextArea类的声明。

public class JTextArea extends JTextComponent  

3 Java JTextArea的构造方法

构造方法 描述
JTextArea() 创建一个文本区域,该区域最初不显示任何文本。
JTextArea(String s) 创建一个文本区域,该区域最初显示指定的文本。
JTextArea(int row, int column) 创建具有指定行数和列数的文本区域,该区域最初不显示任何文本。
JTextArea(String s, int row, int column) 创建具有指定行数和列数的文本区域,以显示指定的文本。

4 Java JTextArea的方法

方法 描述
void setRows(int rows) 用于设置指定的行数。
void setColumns(int cols) 用于设置指定的列数。
void setFont(Font f) 用于设置指定的字体。
void insert(String s, int position) 用于在指定位置插入指定文本。
void append(String s) 用于将给定的文本附加到文档末尾。

5 Java JTextArea的案例1

package cn.xnip;

/**
 * 小牛知识库网: https://www.xnip.cn
 */

import javax.swing.*;

public class TextAreaExample {
     TextAreaExample(){  
        JFrame f= new JFrame();  
        JTextArea area=new JTextArea("欢迎访问www.xnip.cn");
        area.setBounds(10,30, 200,200);  
        f.add(area);  
        f.setSize(300,300);  
        f.setLayout(null);  
        f.setVisible(true);  
     }  
    public static void main(String args[]) {
        new TextAreaExample();
    }
}

输出结果为:

6 Java JTextArea的案例2

package cn.xnip;

/**
 * 小牛知识库网: https://www.xnip.cn
 */

import javax.swing.*;
import java.awt.event.*;

public class TextAreaExample implements ActionListener{
    JLabel l1,l2;
    JTextArea area;
    JButton b;
    TextAreaExample() {
        JFrame f= new JFrame();
        l1=new JLabel();
        l1.setBounds(50,25,100,30);
        l2=new JLabel();
        l2.setBounds(160,25,100,30);
        area=new JTextArea();
        area.setBounds(20,75,250,200);
        b=new JButton("Count Words");
        b.setBounds(100,300,120,30);
        b.addActionListener(this);
        f.add(l1);f.add(l2);f.add(area);f.add(b);
        f.setSize(450,450);
        f.setLayout(null);
        f.setVisible(true);
    }

    public void actionPerformed(ActionEvent e){
        String text=area.getText();
        String words[]=text.split("\\s");
        l1.setText("Words: "+words.length);
        l2.setText("Characters: "+text.length());
    }

    public static void main(String[] args) {
        new TextAreaExample();
    }
}

输出结果为: