JavaGUI——swing组件基础(六)多行文本框组件JTextArea

为什么要用多行文本框组件?

文本框JTextField是单行输入,而多行文本框(JTextArea)可以实现多行输入。

实战目标图:

界面分析:

看到上部占了大部分空间,决定使用边界布局。

下部的最下部很像边界布局的SOUTH部分,在这部分中有两种组件,一种按钮组件JButton,一种下拉列表JComboBox,并且采用流式布局的右对齐。

上部采用拆分窗格将两个多行文本框放在窗格两侧。

代码实现:

import java.awt.*;			//导包
import javax.swing.*;
public class Swing_exercise2 extends JFrame {	//继承JFrame顶层框架

	//定义组件
	//上部组件
	JPanel jp1;		//定义面板
	JSplitPane jsp;	//定义拆分窗格
	JTextArea jta1;	//定义文本域
	JScrollPane jspane1;	//定义滚动窗格
	JTextArea jta2;	
	JScrollPane jspane2;
	//下部组件
	JPanel jp2;
	JButton jb1,jb2;	//定义按钮
	JComboBox jcb1;		//定义下拉框

	public static void main(String[] args)  {
		Swing_exercise2 a=new Swing_exercise2();	//显示界面
	}
	public Swing_exercise2()		//构造函数
	{
		//创建组件
		//上部组件
		jp1=new JPanel();	//创建面板
		jta1=new JTextArea();	//创建多行文本框
		jta1.setLineWrap(true);	//设置多行文本框自动换行
		jspane1=new JScrollPane(jta1);	//创建滚动窗格
		jta2=new JTextArea();
		jta2.setLineWrap(true);
		jspane2=new JScrollPane(jta2);
		jsp=new JSplitPane(JSplitPane.VERTICAL_SPLIT,jspane1,jspane2); //创建拆分窗格
		jsp.setDividerLocation(200);	//设置拆分窗格分频器初始位置
		jsp.setDividerSize(1);			//设置分频器大小
		//下部组件
		jp2=new JPanel();
		jb1=new JButton("返回");		//创建按钮
		jb2=new JButton("发送");
		String [] name= {"周卫国","白子画","陆雪琪","金正恩","本·拉登"};
		jcb1=new JComboBox(name);	//创建下拉框

		//设置布局管理
		jp1.setLayout(new BorderLayout());	//设置面板布局
		jp2.setLayout(new FlowLayout(FlowLayout.RIGHT));
		
		//添加组件
		jp1.add(jsp);
		jp2.add(jcb1);
		jp2.add(jb1);
		jp2.add(jb2);
		
		this.add(jp1,BorderLayout.CENTER);
		this.add(jp2,BorderLayout.SOUTH);
		
		//设置窗体实行
		this.setTitle("聊天界面");		//设置界面标题
		this.setIconImage(new ImageIcon("image/qq.gif").getImage());    //设置标题图片,就是上面的小企鹅
		this.setSize(400, 350);				//设置界面像素
		this.setLocation(200, 200);			//设置界面初始位置
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);	//设置虚拟机和界面一同关闭
		this.setVisible(true);				//设置界面可视化
	}
}

进阶控制:

setLineWrap(boolean wrap)     //设置多行文本区域自动换行

setEditable(boolean wrap);   //设置文本框是否可以编辑
注意事项:

多行文本框可以与滚动窗格连用。

多行文本框可以设置自动换行。


欢迎各位在评论区留言探讨~~



猜你喜欢

转载自blog.csdn.net/weixin_42247720/article/details/80492840