最近写了一段聊天室java代码
/* dkplus专业搜集和编写实用电脑软件教程,搜集各种软件资源和计算机周边(java网络编程,seo网站优化,web开发,lnmp,java网络编程,毕业论文设计),独立制作视频和ppt和音频微信公众号,点击进入 dkplus官方博客http://dkplus.iteye.com 微信搜索dkplus关注公众号可获取海量计算机周边资源。 */ package com.server; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; import java.awt.BorderLayout; import java.awt.FlowLayout; import java.awt.Font; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.util.Scanner; import javax.swing.*; public class ServerWindow extends JFrame{ @SuppressWarnings("unchecked") public ServerWindow() { Server ss = new Server(); Thread t = new Thread(ss); t.start(); dialogArea = new JTextArea(11,47); dialogArea.setLineWrap(true); dialogArea.setFont(messageFont); dialogScrollPane = new JScrollPane(dialogArea); dialogPanel = new JPanel(); dialogPanel.add(dialogScrollPane); speedInput = new JComboBox(new String[]{ "What can I do for you, my son?", "Oh,sorry,son,I cann't do that for you." }); speedInput.setActionCommand("speedInput"); Action action = new Action(); speedInput.addActionListener(action); comboxPanel = new JPanel(); comboxPanel.setLayout(new FlowLayout(FlowLayout.RIGHT)); comboxPanel.setBorder(BorderFactory.createEtchedBorder()); comboxPanel.add(speedInput); panel1 = new JPanel(); panel1.setLayout(new BorderLayout()); panel1.add(dialogPanel,BorderLayout.CENTER); inputArea = new JTextArea(11,47); inputArea.setLineWrap(true);//设置自动换行 inputArea.setFont(messageFont); inputPanel = new JPanel(); inputPanel.add(inputArea); enterButton = new JButton("Enter"); enterButton.setActionCommand("enterButton"); enterButton.addActionListener(action); buttonPanel = new JPanel(); buttonPanel.setLayout(new FlowLayout(FlowLayout.RIGHT)); buttonPanel.add(enterButton); panel2 = new JPanel(); panel2.setLayout(new BorderLayout()); panel2.add(comboxPanel,BorderLayout.NORTH); panel2.add(inputPanel,BorderLayout.CENTER); panel2.add(buttonPanel,BorderLayout.SOUTH); setLayout(new GridLayout(2,1)); add(panel1); add(panel2); } // class Server extends Thread{ class Server implements Runnable{ public void run(){ try { try { server = new ServerSocket(6666); client = server.accept(); InputStream isr = client.getInputStream(); @SuppressWarnings("resource") Scanner scanner = new Scanner(isr); // while(scanner.hasNextLine()) // { inputMessage = scanner.nextLine(); // } // InputStreamReader isr = new InputStreamReader(client.getInputStream()); // BufferedReader bf = new BufferedReader(isr); // inputMessage = bf.readLine(); dialogArea.append("Client:\n"+inputMessage); System.out.println("服务器在监听"); pw = new PrintWriter(client.getOutputStream(),true); // pw.println(clientMessage); // outputMessage = inputArea.getText(); System.out.println("Stream output "+outputMessage+"\n"); // pw.println(outputMessage); // pw.write(outputMessage); } finally{ // server.close(); // client.close(); } } catch (IOException e) { e.printStackTrace(); } } private ServerSocket server = null; private Socket client = null; } class Action implements ActionListener { public void actionPerformed(ActionEvent e) { if(e.getActionCommand() == "enterButton"){ outputMessage = inputArea.getText(); System.out.println("outputMessageByenterButton"+outputMessage+"\n");//测试语句可以得到该语句 dialogArea.append("Server:\n"+outputMessage+"\n"); inputArea.setText(null);//将输入域清屏 }else if(e.getActionCommand() == "speedInput"){ outputMessage = (String)speedInput.getSelectedItem(); inputArea.setText(outputMessage); System.out.println("inputAreaByspeedInput outputMessage = "+outputMessage+"\n"); pw.write(outputMessage); } } } private PrintWriter pw = null; private static String inputMessage = null;//显示到dialogArea的信息 private static String outputMessage = null; JTextArea dialogArea = null; JTextArea inputArea = null; JScrollPane dialogScrollPane = null; JComboBox speedInput = null; JButton enterButton = null; JPanel dialogPanel = null,comboxPanel = null,inputPanel = null,buttonPanel = null; JPanel panel1 = null,panel2 = null; Font messageFont = new Font("仿宋",Font.BOLD,16); // Font nameFont = new Font("仿宋",Font.BOLD,14); }
/* dkplus专业搜集和编写实用电脑软件教程,搜集各种软件资源和计算机周边(java网络编程,seo网站优化,web开发,lnmp,java网络编程,毕业论文设计),独立制作视频和ppt和音频微信公众号,点击进入 dkplus官方博客http://dkplus.iteye.com 微信搜索dkplus关注公众号可获取海量计算机周边资源。 */ package com.server; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; import java.awt.BorderLayout; import java.awt.FlowLayout; import java.awt.Font; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.util.Scanner; import javax.swing.*; public class ServerWindow extends JFrame{ @SuppressWarnings("unchecked") public ServerWindow() { Server ss = new Server(); Thread t = new Thread(ss); t.start(); dialogArea = new JTextArea(11,47); dialogArea.setLineWrap(true); dialogArea.setFont(messageFont); dialogScrollPane = new JScrollPane(dialogArea); dialogPanel = new JPanel(); dialogPanel.add(dialogScrollPane); speedInput = new JComboBox(new String[]{ "What can I do for you, my son?", "Oh,sorry,son,I cann't do that for you." }); speedInput.setActionCommand("speedInput"); Action action = new Action(); speedInput.addActionListener(action); comboxPanel = new JPanel(); comboxPanel.setLayout(new FlowLayout(FlowLayout.RIGHT)); comboxPanel.setBorder(BorderFactory.createEtchedBorder()); comboxPanel.add(speedInput); panel1 = new JPanel(); panel1.setLayout(new BorderLayout()); panel1.add(dialogPanel,BorderLayout.CENTER); inputArea = new JTextArea(11,47); inputArea.setLineWrap(true);//设置自动换行 inputArea.setFont(messageFont); inputPanel = new JPanel(); inputPanel.add(inputArea); enterButton = new JButton("Enter"); enterButton.setActionCommand("enterButton"); enterButton.addActionListener(action); buttonPanel = new JPanel(); buttonPanel.setLayout(new FlowLayout(FlowLayout.RIGHT)); buttonPanel.add(enterButton); panel2 = new JPanel(); panel2.setLayout(new BorderLayout()); panel2.add(comboxPanel,BorderLayout.NORTH); panel2.add(inputPanel,BorderLayout.CENTER); panel2.add(buttonPanel,BorderLayout.SOUTH); setLayout(new GridLayout(2,1)); add(panel1); add(panel2); } // class Server extends Thread{ class Server implements Runnable{ public void run(){ try { try { server = new ServerSocket(6666); client = server.accept(); InputStream isr = client.getInputStream(); @SuppressWarnings("resource") Scanner scanner = new Scanner(isr); // while(scanner.hasNextLine()) // { inputMessage = scanner.nextLine(); // } // InputStreamReader isr = new InputStreamReader(client.getInputStream()); // BufferedReader bf = new BufferedReader(isr); // inputMessage = bf.readLine(); dialogArea.append("Client:\n"+inputMessage); System.out.println("服务器在监听"); pw = new PrintWriter(client.getOutputStream(),true); // pw.println(clientMessage); // outputMessage = inputArea.getText(); System.out.println("Stream output "+outputMessage+"\n"); // pw.println(outputMessage); // pw.write(outputMessage); } finally{ // server.close(); // client.close(); } } catch (IOException e) { e.printStackTrace(); } } private ServerSocket server = null; private Socket client = null; } class Action implements ActionListener { public void actionPerformed(ActionEvent e) { if(e.getActionCommand() == "enterButton"){ outputMessage = inputArea.getText(); System.out.println("outputMessageByenterButton"+outputMessage+"\n");//测试语句可以得到该语句 dialogArea.append("Server:\n"+outputMessage+"\n"); inputArea.setText(null);//将输入域清屏 }else if(e.getActionCommand() == "speedInput"){ outputMessage = (String)speedInput.getSelectedItem(); inputArea.setText(outputMessage); System.out.println("inputAreaByspeedInput outputMessage = "+outputMessage+"\n"); pw.write(outputMessage); } } } private PrintWriter pw = null; private static String inputMessage = null;//显示到dialogArea的信息 private static String outputMessage = null; JTextArea dialogArea = null; JTextArea inputArea = null; JScrollPane dialogScrollPane = null; JComboBox speedInput = null; JButton enterButton = null; JPanel dialogPanel = null,comboxPanel = null,inputPanel = null,buttonPanel = null; JPanel panel1 = null,panel2 = null; Font messageFont = new Font("仿宋",Font.BOLD,16); // Font nameFont = new Font("仿宋",Font.BOLD,14); }
相关推荐
【标题】"简单聊天室java代码"所涉及的知识点主要集中在Java编程语言和网络编程领域,尤其是构建基于Java的实时通信应用。这个项目可能是一个基本的多用户交互平台,允许用户通过网络发送和接收文本消息。 【描述】...
聊天室java课程设计
【网络聊天室java实现】是基于Java编程语言的网络通信项目,主要运用了Java的Socket编程来构建一个多人在线实时交流的平台。在Java中,Socket是网络通信的基础,它为两台机器间的应用程序提供了双向通信的通道。通过...
综上所述,"聊天室_java_聊天室_java聊天室_聊天室java_supportbnd_"这个项目涵盖了Java语言的核心特性,如网络编程、多线程、UI设计,以及软件开发中的最佳实践,如依赖管理、安全性考量和测试策略。通过这个项目,...
在IT领域,构建一个基于TCP/IP的Java聊天室是一项常见的任务,这涉及到网络编程和并发处理等核心概念。本文将详细解析"aa.rar_java聊天_java聊天室_qq聊天_tcpServlet_聊天室 java"这个主题中涉及的技术点。 首先,...
【网页聊天室 Java 源码】是一种基于Java技术实现的在线实时通信系统,主要用于提供多人之间的文字或语音交流功能。这个源码是基于J2EE(Java 2 Platform, Enterprise Edition)架构开发的,因此它包含了服务器端和...
在提供的“聊天室java代码”压缩包中,可能包含了服务器端和客户端的Java源代码文件,通过阅读和理解这些代码,你可以看到上述概念如何在实际项目中应用。同时,这也是一个很好的学习机会,通过实践加深对Java网络...
综上所述,这个"UI多人聊天室Java源码"项目涵盖了Java网络编程、多线程处理、GUI设计、事件处理、字符串操作、异常处理等多个重要知识点,是学习和实践Java基础和进阶技能的理想平台。通过实际操作和调试这个项目,...
【局域网聊天室java源代码】是一种基于Java编程语言实现的本地网络通信应用,它允许在同一局域网内的用户进行实时的文本聊天。这个项目的核心在于利用Java的Socket编程来构建客户端和服务器端的通信架构,实现了基本...
【标题】:“简单UDP聊天室 java版” 【描述】中的知识点主要涉及到的是基于Java实现的一个简单的用户数据报协议(UDP)聊天室。UDP是一种无连接的、不可靠的传输层协议,它在互联网协议族中扮演着重要的角色。这个...
【标题】:“聊天室Java程序(测试版)” 这个Java聊天室程序是一个基础的交互式应用,主要用于模拟多人在线聊天的场景。它采用Java编程语言编写,提供了基本的聊天功能,包括用户注册、登录、发送消息、接收消息等...
在本“简单聊天室java课程设计”项目中,我们将探讨如何使用Java编程语言来构建一个基本的聊天室应用。这个课程设计旨在让学生掌握Java网络编程、多线程以及用户交互等核心概念。以下是对这个项目涉及的主要知识点的...
在【标题】"聊天室 java socket"中,我们了解到这是一个基于Java Socket实现的简单聊天室程序。它可能是一个多用户交互的平台,允许用户通过网络发送和接收消息。由于开发者提到“时间紧,制作不是非常完善”,这...
Java版聊天室Java版聊天室Java版聊天室Java版聊天室Java版聊天室Java版聊天室Java版聊天室Java版聊天室Java版聊天室Java版聊天室Java版聊天室Java版聊天室Java版聊天室Java版聊天室Java版聊天室
【Java_Chart.rar_聊天室 java_聊天室程序】是一个包含多个Java实现的聊天室程序的压缩包。这个资源提供了不同类型的聊天室解决方案,适用于学习和实践Java的Socket编程技术。以下是这些文件所涵盖的关键知识点: 1...
本项目“简单TCP聊天室 Java版”提供了一个基础的平台,让多个用户可以通过TCP协议进行实时交流。尽管描述中提到该聊天室功能并不完善,但其核心概念和技术值得我们深入探讨。 首先,我们要理解TCP协议的基本特性。...
java实现聊天室java实现聊天室java实现聊天室java实现聊天室java实现聊天室java实现聊天室java实现聊天室java实现聊天室java实现聊天室java实现聊天室java实现聊天室java实现聊天室java实现聊天室java实现聊天室java...
【基于TCP协议的聊天室JAVA版】 在计算机网络通信领域,TCP(Transmission Control Protocol)协议是一种面向连接的、可靠的、基于字节流的传输层通信协议。它为两台主机提供了一个端到端的通信服务,确保数据的...
**Java与JSP技术概述** Java是一种广泛使用的面向对象...以上就是基于Java和JSP的聊天室实现的核心知识点,包括了Java基础、JSP原理、网络编程以及Web开发的相关技术。这个源码可以作为学习和实践这些技术的宝贵资源。
【标题】:“网络聊天室java,C/S” 【描述】:“这是一个基于Java技术实现的聊天室项目,采用了经典的客户端/服务器(C/S)架构。在这个项目中,我们将深入理解Java网络编程,以及如何构建一个实时通信的应用。” ...