多行文本框 (JTextArea)
今天我们主要演示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);
}
}
运行结果如下:
这里要注意,不能直接把JScrollPane 添加到 JTextArea。
而是先把JTextArea 放到边界布局的CENTER,这样才能占据对话框的中间绝大部分空间。
然后把JScrollPane添加到 边界布局的CENTER。这样才能有上图右边的滚动条。