如何用java做一个聊天小程序 要求使用图形用户界面,可以实现一个聊天室中多人聊天,也可以两人私聊,

如何用java做一个聊天小程序 要求使用图形用户界面,可以实现一个聊天室中多人聊天,也可以两人私聊,,第1张

给你一个简单的实现吧,注意一定要先运行MyServer.java

//MyCilent.java

import java.io.*

import java.net.*

import javax.swing.*

import java.awt.*

import java.awt.event.*

public class MyClient extends JFrame implements ActionListener{

JTextField tf

JTextArea tx

JButton bt

PrintWriter out

public MyClient(){

tf=new JTextField(20)

tx=new JTextArea()

tx.setLineWrap(true)

tx.setWrapStyleWord(true)

JPanel pan=new JPanel()

JScrollPane jsp=new JScrollPane(tx)

add(jsp,"Center")

bt=new JButton("SEND")

bt.addActionListener(this)

pan.add(tf)

pan.add(bt)

add(pan,"South")

this.addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){

System.exit(0)

}

})

setTitle("THE CLIENT")

setSize(400,300)

setVisible(true)

try{

Socket socket=new Socket("127.0.0.1",1680)

out=new PrintWriter(socket.getOutputStream(),true)

InputStreamReader in = new InputStreamReader(socket.getInputStream())

BufferedReader sin=new BufferedReader(in)

String s

while(true){

s=sin.readLine()

tx.append("#Server Said#: "+s+"\n")

}

}catch(Exception e){

e.printStackTrace()

}

}

public void actionPerformed(ActionEvent e){

if(e.getSource()==bt){

tx.append("@Client Said@: "+tf.getText()+"\n")

out.println(tf.getText())

tf.setText("")

}

}

public static void main(String[] args){

MyClient mct = new MyClient()

}

}

//MyServer.java

import java.io.*

import java.net.*

import javax.swing.*

import java.awt.*

import java.awt.event.*

public class MyServer extends JFrame implements ActionListener{

JTextField tf

JTextArea tx

JButton bt

JScrollPane jsp

JPanel pan

PrintWriter out

public MyServer(){

tx=new JTextArea()

tx.setLineWrap(true)

tx.setWrapStyleWord(true)

jsp=new JScrollPane(tx)

tf=new JTextField(20)

bt=new JButton("SEND")

bt.addActionListener(this)

pan=new JPanel()

pan.add(tf)

pan.add(bt)

add(pan,"South")

add(jsp,"Center")

this.addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){

System.exit(0)

}

})

setTitle("THE SERVER")

setSize(400,300)

setVisible(true)

try{

ServerSocket server = new ServerSocket(1680)

Socket socket = server.accept()

InputStreamReader in = new InputStreamReader(socket.getInputStream())

BufferedReader sin=new BufferedReader(in)

out=new PrintWriter(socket.getOutputStream(),true)

while(true){

String s=sin.readLine()

tx.append("@Client Said@: "+s+"\n")

}

}catch(Exception e){

e.printStackTrace()

}

}

public void actionPerformed(ActionEvent e){

if(e.getSource()==bt){

String st = tf.getText()

tx.append("#Server Said#: "+st+"\n")

out.println(st)

tf.setText("")

}

}

public static void main(String[] args){

MyServer msr = new MyServer()

}

}

呵呵,楼主您好!要用Java做聊天室说简单也不简单,但是说难呢也不难.

说简单点,就是会话跟踪技术(我个人这样理解).要做聊天室,您需要

使用到的工具: tomcat 服务器(因为是免费的,其他也可以哦,呵呵).

Myeclipse(sun公司提供的编写Java程序的工具,别说你不知道哈,

哪样的话我就晕倒了哦,呵呵)

页面框架的设计:index.jsp(聊天室主页面)index_top.jsp(聊天室的顶部页面)

usersonline.jsp(在线人数的统计及显示页面) sendMessage.jsp(发送信息的页面)

showMessage.jsp(显示聊天信息的页面)register.jsp(用户注册的页面)

login.jsp(用户登录页面)

当然,这是最简单的设计方式咯.您也可以设计得更好点.

页面介绍与功能:

index.jsp 主要是聊天室的主页面.由上中下3个框架组成,中间部分在分为

左右2个框架.实际上index.jsp就是一个由于5个框架组成的页面

顶部框架:放index_top.jsp页面.可以设计自己聊天室的特色(比如说:logo)

中间部分的左边框架:showMessage.jsp 显示聊天的信息

中间部分的右边框架:usersonline.jsp(在线人数的统计及显示页面)

底部框架:sendMessage.jsp 这个发送信息的jsp页面.不多说吧

聊天室的框架的设计大楷就是这样子咯

实现聊天:

1.编写一个servlet,用户处理的信息(包括验证用户是否登录和聊天信息)。

2.用户发送信息之后,将发送的信息存放到Application中(群聊)(放在session中就是私聊)

3.显示信息的页面每个XX秒中获取session或者Application中的数据显示出来就OK了

更多的东西还是需要您学习Ajax之后再做,会有不一样的效果哦。祝您成功哟.呵呵


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11857794.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存