这个类的概念与 AWT 的 TextArea 概念相同,它是继承 JTextComponent 类,其实这个文字区恰当应用就是文件编辑软件的编辑区。下列是构造方法。
构造方法
说明
JTextArea( )
建立空白文字区
JTextArea(String text)
建立显示 text 字符申的文字区
JTextArea(int row, int column)
建立 row 行,column 长度的文字区
JTextArea(String text, int row, int column)
同上一个但是含 text 字符串
下列是常用的方法。
方法
说明
void append(String s)
将字符串 s 插入文字区末端
void setRows(int rows)
设置 rows 数
void setColumns(int cols)
设置 cols 数
void insert(String s, int pos)
在 pos 位置插入字符串 s
void setFont(Font f)
设置字型
【示例 1】
使用 JTextArea 类建立文字区的应用。
package chapter4;
import javax.swing.*; // 引入类库
import java.awt.*;
public class ch25 {
static JFrame jfrm = new JFrame("ch25");
static Container ct = jfrm.getContentPane(); // 取得内容窗格对象
static JTextArea ta = new JTextArea("欢迎光临"); // 建立文字区
public static void main(String[] args) {
ct.setLayout(null); // 不使用布局模式
ta.setBounds(20, 30, 240, 160); // 将组件放入内容窗格
ct.add(ta);
// 设置窗口大小和可以显示与结束程序
jfrm.setSize(300, 260); // 宽300, 高260
jfrm.setDefaultCloseOperation(jfrm.EXIT_ON_CLOSE);
jfrm.setVisible(true); // 显示窗口
}
}
程序运行后,结果如下:
【示例 2】
这个程序主要是可以在文字区输入句子,然后单击 Count 按钮后,可以在文字区上方看到有多少字和多少字符。
package chapter4;
import javax.swing.*; // 引入类库
import java.awt.*;
import java.awt.event.*;
public class ch26 {
static JFrame jfrm = new JFrame("ch26");
static Container ct = jfrm.getContentPane(); // 取得内容窗格对象
static JTextArea ta = new JTextArea(); // 建立文本框
static JLabel lab = new JLabel("字数与字符数"); // 建立标签统计信息
static JButton btn = new JButton("Count"); // 建立按钮
// 担任事件监听器和拥有事件处理器
static class myListener implements ActionListener { // 内部类
public void actionPerformed(ActionEvent e) { // 事件处理器
String text = ta.getText();
String[] words = text.split("\\s"); // 空白分隔句子
lab.setText("字数:" + words.length + " 字符数:" + text.length());
}
}
public static void main(String[] args) {
ct.setLayout(null); // 不使用布局模式
// 设置组件在版面位置
lab.setBounds(50, 30, 200, 20);
ta.setBounds(20, 70, 280, 160);
btn.setBounds(100, 260, 100, 25);
// 将组件放入内容窗格
ct.add(ta);
ct.add(lab);
ct.add(btn);
// 执行注册
btn.addActionListener(new myListener()); // ---注册
// 设置窗口大小和可以显示与结束程序
jfrm.setSize(350, 350); // 宽350, 高350
jfrm.setDefaultCloseOperation(jfrm.EXIT_ON_CLOSE);
jfrm.setVisible(true); // 显示窗口
}
}
程序运行后,结果如下: