Java学习笔记-------使用JScrollPane 不显示滚动条的原因:

只有当处于: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();


}

}

你可能感兴趣的:(Java)