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.5.3 如何设计文本区 - 图1

图 22.11 添加文本区