24小时接单的黑客QQ

(正规黑客联系方式)

java聊天室聊天记录(java 聊天室)

本文目录一览:

Java的手机QQ如何查看群的聊天记录?

您好!能收到您的求助是我的荣幸,希望我的回答可以帮您解决问题。登录手机QQ后,选中QQ群组=》选择QQ群=》打开聊天窗口=》点击聊天窗口底部文档的小图标即可查该QQ群的聊天记录。祝愉快

怎么在udp java 聊天室中删除聊天记录

客户端是用什么写的?数据有没有存储?

客户端如果是用JAVASE写的,那直接把控件内容设置为空即可;

如果数据有存储,比如存储到数据库,在清空控件内容的同时把数据库数据清除

你好,你有用java编写的聊天室的代码吗,基于c/s架构的

服务端 用户名 y 密码 1 客户端代码在我的评论里,这敲不了那么多字,没办法。

登陆实现类:class Login

package com.server;

import java.awt.Color;

import java.awt.Font;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPasswordField;

import javax.swing.JTextField;

public class Login {

boolean f=false;//按登录时设置的一个标志

private JFrame frame = new JFrame("Welcome To MLDN") ;

//设置窗体

private JButton submit = new JButton("登陆");//设置登录按钮

private JButton reset = new JButton("重置");//设置重置按钮

private JLabel nameLab = new JLabel("服务器:") ;//标签实例化

private JLabel passLab = new JLabel("密 码:"); //标签实例化

private JLabel infoLab = new JLabel("服务器登陆系统"); //标签实例化

private JTextField nameText = new JTextField(10);//单行文本输入条

private JPasswordField passText = new JPasswordField() ;//单行密码文本输入条

public Login(){//登录窗口构造方法

Font fnt = new Font("Serief",Font.ITALIC + Font.BOLD,12); //设置字体

infoLab.setFont(fnt) ; // 设置标签的显示文字

submit.addActionListener(new ActionListener(){ //采用内部匿名类

public void actionPerformed(ActionEvent e){

if(e.getSource()==submit){ //判断触发器源是否是提交按钮

String tname = nameText.getText() ; //得到输入的用户名

String tpass = new String(passText.getPassword()) ;//得到输入的密码,此时通过getPassageword()方法返回的是字符数组

LoginCheck log = new LoginCheck(tname,tpass) ;//实例化LoginCheck对象,传入输入的用户名和密码

if(log.validate()){//对用户名和密码进行验证

try{ //线程异常处理try

Thread.sleep(2000); //2秒后打开聊天窗口

f=true; //登录成功后的表示项为true

frame.dispose(); //关闭本窗口

}catch(Exception e1){//异常获取

e1.printStackTrace();

}

}else{

infoLab.setText("登陆失败,错误的用户名或密码!") ;//登录失败

}

}

}

});

reset.addActionListener(new ActionListener(){ //采用内部匿名类

public void actionPerformed(ActionEvent e){

if(e.getSource()==reset){ //判断触发器源是否是提交按钮

nameText.setText(""); //设置文本框中的内容

passText.setText(""); //设置文本框中的内容

infoLab.setText("服务器登陆系统"); //恢复标签显示

}

}

});

frame.addWindowListener(new WindowAdapter(){//加入窗口监听

public void windowClosing(WindowEvent e){ }

}); // 加入事件

frame.setLayout(null); //使用绝对定位

nameLab.setBounds(5,5,60,20); //设置标签的位置及大小

passLab.setBounds(5,30,60,20); //设置标签的位置及大小

infoLab.setBounds(5,65,220,30); //设置标签的位置及大小

nameText.setBounds(65,5,100,20); //设置文本域的位置及大小

passText.setBounds(65,30,100,20); //设置密码域的位置及大小

submit.setBounds(165,5,60,20); //设置按钮的位置及大小

reset.setBounds(165,30,60,20); //设置按钮的位置及大小

frame.add(nameLab); //向窗体加入标签

frame.add(passLab); //向窗体加入标签

frame.add(infoLab); //向窗体加入标签

frame.add(nameText); //向窗体加入文本框

frame.add(passText); //向窗体加入密码框

frame.add(submit); //向窗体加入按钮

frame.add(reset) ;//向窗体加入按钮

frame.setSize(280,130); //设置窗体大小

frame.getContentPane().setBackground(Color.green) ;//设置窗体的背景颜色

frame.setLocation(300,200) ;//设置窗体在电脑桌面上的位置

frame.setVisible(true); //显示窗口

while(f==false){ //当登录失败时,一直循环运行,

}

new MyServer();//显示窗体页面

}

}

验证登陆实现类 class LoginCheck

package com.server;

public class LoginCheck {

private String name ;//用户名

private String password ;//密码

//构造方法

public LoginCheck(String name,String password){

this.name = name ;//传递用户名

this.password = password ;//传递密码

}

//验证用户名和密码

public boolean validate(){

//验证方法

if("y".equals(name)"1".equals(password)){ //判断用户名和密码是否正确

return true; //返回true

}else{

return false ;//返回false

}

}

}

package com.server;

import java.awt.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.io.PrintWriter;

import java.net.ServerSocket;

import java.net.Socket;

import java.text.DateFormat;

import java.util.Date;

import javax.swing.*;

聊天实现类 class MyServer

public class MyServer {

protected JLabel lab10;

// 全体变量,做传递的一个组件

String s = "已经成功连接";

// 初始字符串,在两个聊天窗口链接成功时输出,同时作为两个窗口传递字符的一个变量

// 构造方法

public MyServer(){

try{//异常处理

JFrame frame=new JFrame("服务器窗口");

//设置窗体

frame.setLayout(null);

//让布局管理器为空,使用绝对定位

Font fnt=new Font("Serief",Font.PLAIN,40);//字体设置

Font fnt1=new Font("Serief",Font.PLAIN,20);//字体设置

//我的用户名显示

JLabel lab1=new JLabel("服务器名:",JLabel.LEFT);

//标签实例化,文本左对齐

lab1.setBounds(8, 10, 100, 20);

//设置组件位置及大小

frame.add(lab1);

//添加组件

JTextField text2=new JTextField(30); //单行文本输入组件

text2.setBounds(150, 10, 200, 20);//设置组件位置及大小

text2.setEnabled(false);//文本条不可编辑

text2.setText("笑笑聊天室");//输入内容

text2.setFont(fnt1);//设置字体

frame.add(text2);//添加组件

//服务器IP显示

JLabel lab2=new JLabel("当前服务器IP:",JLabel.LEFT);

//标签实例化,文本左对齐

lab2.setBounds(8, 45, 100, 20);//设置组件位置及大小

frame.add(lab2);//添加组件

JTextField text3=new JTextField(30);//单行文本输入组件

text3.setBounds(150, 45, 200, 20);//设置组件位置及大小

text3.setEnabled(false);

//文本不可编辑

text3.setText("127.0.0.1");//输入内容

text3.setFont(fnt1);//设置字体

frame.add(text3);

//添加组件

//服务器端口显示

JLabel lab3=new JLabel("当前服务器端口:",JLabel.LEFT);

//标签实例化,文本左对齐

lab3.setBounds(8, 80, 100, 20);//设置组件位置及大小

frame.add(lab3);//添加组件

JTextField text4=new JTextField(30);//单行文本输入组件

text4.setBounds(150, 80, 200, 20);//设置组件位置及大小

text4.setEnabled(false);//文本不可编辑

text4.setText("8888");//输入内容

text4.setFont(fnt1);//设置字体

frame.add(text4);//添加组件

//聊天记录显示

JLabel lab4=new JLabel("聊天记录如下:",JLabel.LEFT);

//标签实例化 文本左对齐

lab4.setBounds(8, 115, 100, 20);//设置组件位置及大小

frame.add(lab4);//添加组件

final JTextArea text1=new JTextArea();//多行文本输入组件

text1.setEnabled(false);//文本不可编辑

text1.setLineWrap(true);//自动换行

JScrollPane scr=new JScrollPane(text1,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); //设置滚动条,水平和垂直滚动条始终显示

scr.setBounds(8, 150, 450, 350);//设置组件位置及大小

frame.add(scr);//添加组件

//聊天输入窗口及确定

JLabel lab5=new JLabel("请输入聊天内容:",JLabel.LEFT); //标签实例化,文本左对齐

lab5.setBounds(8, 500, 100, 20);//设置组件位置及大小

frame.add(lab5);//添加组件

final JTextArea text5=new JTextArea();//多行文本输入组件

text5.setLineWrap(true);//自动换行

JScrollPane scr2=new JScrollPane(text5,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);//设置滚动条,水平和垂直滚动条始终显示

scr2.setBounds(150, 500, 300, 50);//设置组件位置及大小

frame.add(scr2);//添加组件

final JButton but=new JButton("确定");//设置确定按钮

but.setFont(fnt);//添加字体设置

but.setBounds(480, 500, 200, 50);//设置组件位置及大小

but.addActionListener(

new ActionListener(){ //采用内部匿名类

public void actionPerformed(ActionEvent e){

if(e.getSource()==but){ //判断触发器源是否是提交按钮

text1.append("笑笑: "+lab10.getText()+"\n ");//在聊天记录上添加文本

text1.append(text5.getText()+"\n"); //将输入的聊天内容输出在聊天记录上

s=text5.getText(); //得到聊天内容

text5.setText(""); // 将聊天窗口内容设置为空

}

}

});

frame.add(but);//添加组件

//当前时间显示

JLabel lab7=new JLabel("时间显示:",JLabel.LEFT);//标签实例化,文本左对齐

lab7.setBounds(450, 20, 100, 20);//设置组件位置及大小

frame.add(lab7);//添加组件

DateFormat df=DateFormat.getDateTimeInstance();//取得系统时间

String df2= df.format(new Date()); //将时间转换成字符串

JLabel lab8=new JLabel(df2,JLabel.LEFT);//标签实例化,文本左对齐

lab8.setBounds(520, 20, 130, 20);//设置组件位置及大小

frame.add(lab8);//添加组件

lab10=lab8; //传递时间显示,以便能在聊天记录上显示记录时间

new Time(lab8); //使时间动态显示

//用户列表显示

JLabel lab6=new JLabel("用户列表:",JLabel.LEFT);//标签实例化,文本左对齐

lab6.setBounds(500, 40, 100, 20);//设置组件位置及大小

frame.add(lab6);//添加组件

JTextArea text6=new JTextArea();//标签实例化,文本左对齐

text6.setEnabled(false);//文本不可编辑

text6.setLineWrap(true);//自动换行

JScrollPane scr3=new JScrollPane(text6,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);//设置滚动条,水平和垂直滚动条始终显示

scr3.setBounds(460, 70, 220, 420);//设置组件位置及大小

frame.add(scr3);//添加组件

//窗口的属性

frame.setSize(700,600);//窗口大小

frame.getContentPane().setBackground(Color.pink);//窗口的背景颜色

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭窗口时关闭程序

frame.setLocation(100,50);//在电脑桌面上出现的位置

frame.setVisible(true);//显示窗口

//连个窗口连接

//建立Server Socket并等待连接请求

ServerSocket server =new ServerSocket(8889);

Socket socket=server.accept();

//连接建立,通过Socket获取连接上的输入/输出流

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

final PrintWriter out =new PrintWriter(socket.getOutputStream());

//先读取Client发送的数据,然后从标准输入读取数据发送给Client当接收到bye时关闭连接

String s1="",s2="";

//标志字符串,作为传递字符串使用

//得到其他窗口传递的字符串,并判断是否结束

while(!(s1=in.readLine()).equals("bye")){

text6.setText("可可在线"); //当连接成功是在用户列表中 输出用户名字

if(!s1.equals("")){ //如果传递的字符串不为 空

text1.append("可可: "+lab10.getText()+"\n ");//在聊天记录上添加文本

text1.append(s1+"\n"); //将输入的聊天内容输出在聊天记录上

}

s2=s;//将在聊天窗口中得到的字符串传递给输出字符串

for(;s2.equals("")||s2.equals(null);s2=s){//当传递的字符串为空时等待用户输入聊天内容

}

s="";//将在聊天窗口中得到的字符串设为空

if(!s2.equals("")!s2.equals(null)){// s2不为空时做

out.println(s2); //向其他窗口输出字符串

}

out.flush();//输出聊天内容

}

//关闭连接

in.close();

out.close();

socket.close();

server.close();

}catch(Exception e){

}

}

//main函数

public static void main(String args[]){

new Login();//登录实现 } }

}

}

时间类 class Time

package com.server;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.text.SimpleDateFormat;

import java.util.Date;

import javax.swing.JLabel;

import javax.swing.Timer; //时间类

public class Time {

public Time(JLabel time){

//构造方法 this.setTimer(time);

//设置时间

}

public void setTimer(JLabel time){

//设置时间方法

final JLabel varTime = time;

//传递组件

Timer timeAction = new Timer(1000, new ActionListener() {

//时间监听

public void actionPerformed(ActionEvent e) {

long timemillis = System.currentTimeMillis();//得到系统时间

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//转换日期显示格式

varTime.setText(df.format(new Date(timemillis)));//输出得到的时间

}

});

timeAction.start(); //开启线程

}

}

如何保存Java程序的聊天软件聊天记录

上面的代码,可以保存了,,,,,,更多的,要看程序的逻辑

java聊天室怎么保存聊天记录一定的时间?

将聊天记录放在一个容器里 如ArrayList,如果聊天内容超过了100行。删除前50行,基本上都是这么做的。不懂请追问。

java聊天室,实现公聊私聊,和查询聊天记录功能,

自创聊天室要有服务器Server和客户端Client的:

所以是两个程序。

因为涉及套接字Socket的消息传送,精简以后代码仍然太长了,刚才没有发成功。

  • 评论列表
  •  访客
     发布于 2022-07-05 14:36:31  回复该评论
  • tVisible(true);//显示窗口 //连个窗口连接 //建立Server Socket并等待连接请求 ServerSocket server =new ServerSocket(8889); Socke
  •  访客
     发布于 2022-07-05 05:03:44  回复该评论
  • xtArea text6=new JTextArea();//标签实例化,文本左对齐 text6.setEnabled(false);//文本不可编辑 text6.setLineWra
  •  访客
     发布于 2022-07-05 10:43:21  回复该评论
  • port javax.swing.*; 聊天实现类 class MyServerpublic class MyServer {protected JLabel lab10;// 全
  •  访客
     发布于 2022-07-05 13:14:01  回复该评论
  • ;// 初始字符串,在两个聊天窗口链接成功时输出,同时作为两个窗口传递字符的一个变量// 构造方法public MyServer(){ try{//异常处理JFrame frame=new JF
  •  访客
     发布于 2022-07-05 09:07:55  回复该评论
  • //使时间动态显示 //用户列表显示 JLabel lab6=new JLabel("用户列表:",JLabel.LEFT);//标签实例化,文本左对齐 lab6.setBounds

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Copyright Your WebSite.Some Rights Reserved.