天天看点

Java布局管理器之插件(六)---JTextArea

多行文本框 (JTextArea)

今天我们主要演示JTextArea。使用说明如下,大家可以多看看说明文档

Java布局管理器之插件(六)---JTextArea

下面我举例说明:

/**
 * 测试 QQ对话框
 * 多行文本框 JTextArea
 */
package com.shunping;

import java.awt.*;
import javax.swing.*;


public class Demo8_10 extends JFrame{

	//定义小控件
	
	//用来显示对话内容
	JTextArea jta1 = null;
	//用来给JTextArea内容增加滚动条
	JScrollPane jsp1 = null;
	//用来分主界面
	JPanel jp1 = null;
	//选择联系人
	JComboBox jcb1 = null;
	//输入对话内容
	JTextField jtf1 = null;
	//发送按钮
	JButton jbt1 = null;
	
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Demo8_10 demo8_10 = new Demo8_10(500, 500);
	}
	
	public Demo8_10(int x_dispSize, int y_dispSize)
	{
		jta1 = new JTextArea();
		jsp1 = new JScrollPane(jta1);  //jta1增加滚动条
		jp1 = new JPanel();
		String chatter[] = {"大哥","三呆","狗妈妈","小狗狗"};
		jcb1 = new JComboBox(chatter);  //给下拉列表添加你内容
		jtf1 = new JTextField(20);  //输入框长度
		jbt1 = new JButton("发送");
		
		//添加组件到jp1
		//jta1.add(jsp1);
		
		jp1.add(jcb1);
		jp1.add(jtf1);
		jp1.add(jbt1);
		
		//这里我们将 jsp1和jp1使用BorderLayout 布局
		//因为我们需要给jsp1在放大缩小对话框的时候
		//能够跟随对话框放大缩小
		//this.add(jsp1, BorderLayout.NORTH);
		this.add(jsp1, BorderLayout.CENTER);  //为了给JTextArea 添加滚动条,当显示内容超过文本框大小时
		this.add(jp1,BorderLayout.SOUTH);
		
		//用来设置左上角logo图标
		this.setIconImage(new ImageIcon("images/QQicon.png").getImage());
		
		//设置窗体大小
		this.setSize(x_dispSize, y_dispSize);
		
		//设置窗体显示位置
		//this.setLocation(300, 400);
		this.setLocationRelativeTo(null); //居中显示
		
		//禁止用户改变窗体大小
		//this.setResizable(false);
		
		//设置窗体名字
		this.setTitle("QQ 聊天窗口");
		
		//设置关闭窗体的时候,自动关闭虚拟机
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		//设置窗体为visible
		this.setVisible(true);
	}
	
}
           

运行结果如下:

Java布局管理器之插件(六)---JTextArea

这里要注意,不能直接把JScrollPane 添加到 JTextArea。

而是先把JTextArea 放到边界布局的CENTER,这样才能占据对话框的中间绝大部分空间。

然后把JScrollPane添加到 边界布局的CENTER。这样才能有上图右边的滚动条。