iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Java如何实现带图形界面的聊天程序
  • 494
分享到

Java如何实现带图形界面的聊天程序

2023-07-02 08:07:24 494人浏览 八月长安
摘要

今天小编给大家分享一下Java如何实现带图形界面的聊天程序的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。ServerDemo

今天小编给大家分享一下Java如何实现带图形界面的聊天程序的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

ServerDemo01.java

import javax.swing.*;import javax.swing.border.Border;import java.awt.*;import java.awt.event.*;import java.io.DatainputStream;import java.io.DataOutputStream;import java.io.IOException;import java.net.ServerSocket;import java.net.Socket;public class ServerDemo01 implements ActionListener {    private ServerSocket serverSocket;    private Socket socket;    private DataInputStream dataInputStream;    private DataOutputStream dataOutputStream;    private JFrame jFrame;    private jscrollPane jScrollPane;    private JTextArea jTextArea;    private JPanel jPanel;    private JTextField jTextField;    private JButton jButton;    public ServerDemo01() {        //创建组件        jFrame = new JFrame("服务器");        jTextArea = new JTextArea();        jScrollPane = new JScrollPane(jTextArea);        jPanel = new JPanel();        jTextField = new JTextField(20);        jButton = new JButton("发送");        //添加组件到容器        jFrame.add(jScrollPane, BorderLayout.CENTER);        jFrame.add(jPanel, BorderLayout.SOUTH);        jPanel.add(jTextField);        jPanel.add(jButton);        //设置窗体        jFrame.setBounds(200,200,400,300);        jFrame.setVisible(true);        jFrame.setResizable(false);        jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        //添加监听        jButton.addActionListener(this);        //tcp网络通信        try {            serverSocket = new ServerSocket(9999);            socket = serverSocket.accept();//等待连接            dataInputStream = new DataInputStream(socket.getInputStream());            dataOutputStream = new DataOutputStream(socket.getOutputStream());            while(true) {//接收来自客户端的消息                String strClient = dataInputStream.readUTF();                jTextArea.append("客户端:" + strClient + "\n");            }        } catch (IOException e) {            e.printStackTrace();        }    }    @Override    public void actionPerfORMed(ActionEvent e) {        //监听发送按钮        if(e.getSource()==jButton){            String str = jTextField.getText();//获取文本框中的内容            if(str.length()==0)//发送内容为空                JOptionPane.showMessageDialog(jTextField,"发送内容不能为空");            else{                //将数据发送到客户端                try {                    dataOutputStream.writeUTF(str);                    jTextArea.append("服务器:"+str + "\n");                    jTextField.setText("");                } catch (IOException ioException) {                    ioException.printStackTrace();                }            }        }    }    public static void main(String[] args) {        new ServerDemo01();    }}

ClientDemo01.java

import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IOException;import java.net.Socket;public class ClientDemo01 implements ActionListener {    private Socket socket;    private DataInputStream dataInputStream;    private DataOutputStream dataOutputStream;    private JFrame jFrame;    private JScrollPane jScrollPane;    private JTextArea jTextArea;    private JPanel jPanel;    private JTextField jTextField;    private JButton jButton;    public ClientDemo01() {        //创建组件        jFrame = new JFrame("客户端");        jTextArea = new JTextArea();        jScrollPane = new JScrollPane(jTextArea);        jPanel = new JPanel();        jTextField = new JTextField(20);        jButton = new JButton("发送");        //添加组件        jFrame.add(jScrollPane, BorderLayout.CENTER);        jFrame.add(jPanel,BorderLayout.SOUTH);        jPanel.add(jTextField);        jPanel.add(jButton);        //设置窗体        jFrame.setBounds(610,200,400,300);        jFrame.setVisible(true);        jFrame.setResizable(false);        jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        //添加监听        jButton.addActionListener(this);        //TCP网络通信        try {            socket = new Socket("127.0.0.1",9999);            dataInputStream = new DataInputStream(socket.getInputStream());            dataOutputStream = new DataOutputStream(socket.getOutputStream());            //接收服务器的消息            while (true) {                String strServer = dataInputStream.readUTF();                jTextArea.append("服务器:"+strServer + "\n");            }        } catch (IOException e) {            e.printStackTrace();        }    }    @Override    public void actionPerformed(ActionEvent e) {        if(e.getSource()==jButton){            String str = jTextField.getText();            if(str.length()==0)                JOptionPane.showMessageDialog(jTextField,"发送内容不能为空");            else{                try {                    dataOutputStream.writeUTF(str);                    jTextArea.append("客户端:"+str + "\n");                    jTextField.setText("");                } catch (IOException ioException) {                    ioException.printStackTrace();                }            }        }    }    public static void main(String[] args) {        new ClientDemo01();    }}

运行截图:

Java如何实现带图形界面的聊天程序

Java如何实现带图形界面的聊天程序

以上就是“Java如何实现带图形界面的聊天程序”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网精选频道。

--结束END--

本文标题: Java如何实现带图形界面的聊天程序

本文链接: https://www.lsjlt.com/news/340663.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java实现带图形界面的聊天程序
    本文实例为大家分享了Java实现带图形界面聊天程序的具体代码,供大家参考,具体内容如下 ServerDemo01.java import javax.swing.*; import ...
    99+
    2022-11-13
  • Java如何实现带图形界面的聊天程序
    今天小编给大家分享一下Java如何实现带图形界面的聊天程序的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。ServerDemo...
    99+
    2023-07-02
  • Java如何实现聊天室界面
    这篇“Java如何实现聊天室界面”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java如何实现聊天室界面”文章吧。服务器端:...
    99+
    2023-06-30
  • Python如何实现带图形界面的炸金花游戏
    本文小编为大家详细介绍“Python如何实现带图形界面的炸金花游戏”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python如何实现带图形界面的炸金花游戏”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。炸金花题目...
    99+
    2023-07-04
  • java控制台如何实现聊天程序
    本篇内容主要讲解“java控制台如何实现聊天程序”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java控制台如何实现聊天程序”吧!本文实例为大家分享了java控制台实现聊天程序的具体代码,供大家...
    99+
    2023-06-20
  • Java程序图形用户界面的按钮与布局怎么实现
    本篇内容主要讲解“Java程序图形用户界面的按钮与布局怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java程序图形用户界面的按钮与布局怎么实现”吧!按钮组件 JButtonJButto...
    99+
    2023-06-29
  • Java如何实现局域网聊天小程序
    今天小编给大家分享一下Java如何实现局域网聊天小程序的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。开发环境:IDEA 20...
    99+
    2023-06-30
  • C#如何实现图形界面的时钟
    今天小编给大家分享一下C#如何实现图形界面的时钟的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。秒针有跳跃两个格子问题,主要是...
    99+
    2023-07-02
  • Java基于TCP如何实现简单聊天程序
    本篇内容介绍了“Java基于TCP如何实现简单聊天程序”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、如何实现TCP通信要实现TCP通信需...
    99+
    2023-06-29
  • 如何使用Java图形化界面编程实现简单计算器
    这篇文章主要为大家展示了“如何使用Java图形化界面编程实现简单计算器”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用Java图形化界面编程实现简单计算器”这篇文章吧。1.简单计算器使用A...
    99+
    2023-06-22
  • 微信小程序如何实现实时聊天并支持图片预览
    这篇文章给大家分享的是有关微信小程序如何实现实时聊天并支持图片预览的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。首先看一下界面,界面很简单,就是首页刚进来获取了用户信息头像,昵称...
    99+
    2022-10-19
  • 如何用PHP实现微信小程序的实时聊天功能?
    如何用PHP实现微信小程序的实时聊天功能?随着移动互联网的发展,微信小程序成为了很多开发者的首选平台。而实时聊天功能作为一种关键的社交功能,很多用户都希望在自己的小程序中实现。本文将介绍如何使用PHP来实现微信小程序的实时聊天功能,并提供具...
    99+
    2023-10-27
    PHP 微信小程序 实时聊天
  • 如何利用C++实现一个简单的聊天室程序?
    如何利用C++实现一个简单的聊天室程序?在信息时代,人们越来越注重网络交流。而聊天室作为一种常见的沟通工具,具有实时性和交互性的特点,被广泛应用于各个领域。本文将介绍如何利用C++语言实现一个简单的聊天室程序。首先,我们需要建立一个基于客户...
    99+
    2023-11-04
    C++ 实现 聊天室程序
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作