Java聊天室系统(三):图形界面窗口展示

实现功能(最终版):

1、基于上一版本,实现了swing图形界面,其中写的逻辑改变较大,要用到监听器监听发送按钮,而不是以前判断是否有键盘输入,另有背景颜色,字体及颜色,滚动条等设置。
2、该系统有强大的输入检查功能。

注:大家参考就好了,不要照搬啊!!!

结果展示

在这里插入图片描述

代码展示:

客户端:
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.net.Socket;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class TalkClient {
   
   
	public static void main(String args[]) {
   
   	
		JFrame jf = new JFrame();//用JFrame创建一个名为frame的顶级容器
		jf.setContentPane(new JPanel());//在jf里面添加一个JPanel对象,用来增加滚动条
        jf.setTitle("JAVA聊天器");
        jf.setResizable(true);//窗口可由用户调整大小
        jf.setSize(540, 600);//大小
        jf.setLocation(650, 100);//位置
        jf.setLayout(null);//布局方式
		JButton btnSend=new JButton("发送");//创建一个按钮
		btnSend.setForeground(Color.red); //盖住背景色
		final JTextArea xie=new JTextArea();//创建文本区域,写
		final JTextArea du=new JTextArea();//读
        jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//右键关闭窗口时操作
        jf.getContentPane().setBackground(Color.yellow);
        jf.setVisible(true);//使图形可见   
        btnSend.setBounds(410,320,100,50);//位置,大小的设置
        Font font = new Font("等线",Font.PLAIN, 20);//字体,20的字号
        btnSend.setFont(font);
        jf.add(btnSend);//添加到顶级容器
        xie.setBounds(10,380,500,150);
        xie.setFont(font);
        jf.add(xie);
        du.setEditable(false);//该控件不能被编辑,即显示区无法选择
        //taChat.setBounds(10,10,500,300);
        du.setFont(font);
        //jf.add(taChat);
        JScrollPane js = new JScrollPane(du);//把du封装到JScrollPane里面
        js.setBounds(10,10,500,300);
        jf.getContentPane().add(js);//添加到jf里,即添加滚动条
	    try{
   
   
			//向本机的4700端口发出客户请求
			@SuppressWarnings("resource")
			final Socket socket=new Socket("127.0.0.1",4700);
			DataInputStream is=new DataInputStream(socket.getInputStream());//消息,文件输入流
			du.append("发消息:1 hello   发文件: 1 hello.txt   退出:1 bye"+"\n");
			System.out.println("发消息:1 hello   发文件: 1 hello.txt   退出:1 bye"+"\n");
	
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值