java利用JTextArea、Jpanel实现发送消息

小知识点:

1.返回参数类型设置为组件

2.多层结构分解,功能利用组件实现

3.结构分为显示层-JScrollPane,操作层-JTextArea,控制层-JButton


import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class Ftest extends JFrame {
	private JPanel jp1 = null;
	private JPanel jpct = null;
	private JScrollPane js =null;
	private JTextArea jt1 =null;
	private JTextArea jt2 =null;
	private JButton jb1 =null;
	
	private JTextArea getJt1() { //显示文本区域
		if (jt1 == null) {
			jt1 = new JTextArea("",15,23);
		}
		return jt1;
	}
	private JTextArea getJt2() {  //发送文本区域
		if (jt2 == null) {
			jt2 = new JTextArea("",2,23);
		}
		return jt2;
	}
	private JButton getJb1() {   //发送按钮
		if(jb1 == null) {
			jb1 = new JButton("发送");
			jb1.addActionListener(new ActionListener() {
				
				@Override
				public void actionPerformed(ActionEvent e) {
					// TODO 自动生成的方法存根
					
					jt1.append(jt2.getText());
					jt1.append("\n");
					jt2.setText("");
					
				}
			});
		}
		
		
		
		return jb1;
		
	}
	
	private JScrollPane getJs() {  //显示滚动文本区域
		if(js == null) {
			js = new JScrollPane();
			js.setViewportView(getJt1());
		}
		
		return js;
		
	}
	
	
	private JPanel getJp1() {
		if(jp1 == null) {
			jp1 = new JPanel();
			jp1.setLayout(new FlowLayout());
			jp1.add(getJs());
			jp1.add(getJt2());
			jp1.add(getJb1());
		}
		return jp1;
		
	}
	
	public Ftest() {
		super();
		initialize();
	}
	
	private void initialize() {
		this.setSize(300, 430);
		this.setContentPane(getJp1());
		this.setTitle("JFrame");
		this.setVisible(true);
	}
	
	
	
	
	public static void main(String[] args) {
		new Ftest();
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值