只有当处于:JScrollPane 之中的组件,其显示的宽和高大于JScrollPane 的宽和高时,才会显示滚动条。
/*
* 功能:使用JTextArea 和 JTextField 制作聊天界面
* 关于:JTextArea 类
* JTextArea 类是一个能显示纯文本的多行区域。
* 构造方法: JTextArea();
* 内部成员方法: void append(String str); // 将给定文本追加得到文档的结尾。
*
*
*
*
*
*
*
* */
package com.Textarea;
import javax.swing.*;
import java.awt.*;
import java.io.*;
public class JT_area extends JFrame
{
JScrollPane jsp=null;
JTextArea jta=null;
JTextField jtf=null;
JButton jb=null;
JPanel jp=null;
JViewport vp=null;
public JT_area()
{
// 定义按钮
jb=new JButton("发送");
jp=new JPanel();
// 定义三个组件
jta=new JTextArea();
jta.append("大家好!!!");
jtf=new JTextField(20);
jta.setPreferredSize(new Dimension(400,400)); // 使用了这一句后,就可以显示滚动条了。
/*
* 之所以不显示,滚动条的原因:
* 主要是这句代码,设置panel的首选大小,同时保证宽高大于JScrollPane的宽高,这样下面的JScrollPane才会出现滚动条
*即:只有当处于:JScrollPane 之中的组件,其显示的宽和高大于JScrollPane 的宽和高时,才会显示滚动条。
*
*
* */
jsp=new JScrollPane(jta);
jsp.validate();
jp.add(jtf);
jp.add(jb);
this.add(jsp,"Center");
this.add(jp,"South");
// 设置框架
this.setLocation(300, 300);
this.setSize(300,400);
this.setTitle("聊天对话框");
this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
this.setVisible(true);
}
public static void main(String[] args)
{
JT_area jtar=new JT_area();
}
}