Java_GUI创建单机版QQ聊天小程序并实现简单的小功能(附所有源码)

本文介绍了如何使用Java GUI创建一个简单的单机版QQ聊天小程序,该程序具备发送、记录聊天、清屏和窗口震动功能。聊天记录存储在'config.txt'文件中,代码实现包括界面设计。源码提供,可自行打包成JAR文件并运行。注意,127.0.0.1用于本机发送,删除后默认为频道广播地址255.255.255.255。
摘要由CSDN通过智能技术生成

该小程序的界面设计如下:
这里写图片描述

小程序能够实现的功能有:

  • 发送:向本机(自己)发送聊天消息
  • 记录:所有的聊天记录存储在“config.txt”的文本文件里
  • 清屏:点击后,显示区域清空
  • 震动:类似于QQ中窗口抖动的功能

通过编写Java代码实现界面和所有功能
所有源码如下:

package com.soar.socket;

import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Color;
import java.awt.Font;
import java.awt.Frame;
import java.awt.Panel;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.BufferedWriter;
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Demo4_GUIChat extends Frame {
         //通过继承Frame类就可以使用Frame中所有的方法了

    //对界面上所有的功能模块创建局部变量,方便使用
    private TextField tf;
    private Button send;
    private Button log;
    private Button clear;
    private Button shake;
    private TextArea viewText;
    private TextArea sendText;
    private DatagramSocket socket;
    private BufferedWriter bw;
    /**
     * @param args
     * 通过GUI设置
     * 单机版QQ聊天
     */
    public Demo4_GUIChat() {
        init();                 
        southPanel();               //下面的面板
        centerPanel();              //中间的面板
        event();                    //所有事件
        setIconImage(Toolkit.getDefaultToolkit().createImage("qq.png"));    //为该窗体设置一个Logo
    }

    public void event() {
        this.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                try {
                    socket.close();                 
                    bw.close();
                } 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值