22.5.3 如何设计文本区
文本区相当于多行文本框,使用JTextArea类实现。下面是它的构造器。
❑JTextArea textarea=new JTextArea(int x, int y)
创建一个x行y列的文本区。
❑JTextArea textarea=new JTextArea(String str)
创建一个有初始文本str的文本区。
当文本过长,超过了显示范围,应该把多余的剪掉。可通过下面的方法自动换行,以保证多余文本不会被剪掉。
textArea.setLineWrap(true);
【实例22.10】下面演示一个有关文本区的实例。
01 import javax.swing.*;
02 import java.awt.*;
03 ///创建一个顶层框架类
04 ///WIDTH参数是指框架的宽度
05 ///HEIGHT参数是指框架的长度
06 ///setTitle用来设置框架左上角的标题
07 ///setSize用来设置框架的大小
08 ///通过ToolKit类中的方法,将顶层框架放置到屏幕中央
09 ///创建一个容器类对象p并且将文本区对象添加到其中
10 ///将p添加到顶层框架
11 public class Swingtest9
12 {
13 static final int WIDTH=300;
14 static final int HEIGHT=200;
15 public static void main(String[]args)
16 {
17 JFrame jf=new JFrame();
18 jf.setSize(WIDTH, HEIGHT);
19 jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
20 jf.setTitle("学生管理系统");
21 Toolkit kit=Toolkit.getDefaultToolkit();
22 Dimension screenSize=kit.getScreenSize();
23 int width=screenSize.width;
24 int height=screenSize.height;
25 int x=(width-WIDTH)/2;
26 int y=(height-HEIGHT)/2;
27 jf.setLocation(x, y);
28 JTextArea jt=new JTextArea(5,5);
29 Panel p=new Panel();
30 p.add(jt);
31 jf.add(p, BorderLayout.CENTER);
32 jf.show();
33 }
34 }
【代码说明】第28行创建一个5行5列的文本区,第31行将其添加到窗口中,并设置显示的位置。
【运行效果】运行结果如图22.11所示。
图 22.11 添加文本区