#8:30-9:00 签到打卡
#9:30-12:00 观看java视频
#14:00-18:00 写qq项目
1.添加好友点击事件方法
public static void main(String[] args) {//显示搜索的好友信息
new qqfriend("1");
}
public void shows(String id,String name){
oid[i]=id;
oname[i]=name;
jl[i].setText("账号:"+id+" 昵称:"+name);
flag[i]=true;
i++;
}
public void shows(){//搜不到显示
if(i==0){
jl[i].setText("很抱歉没有找到当前id的账号");
}else{
jl[i].setText("很抱歉没有找到当前名字的账号");
}
flag[i]=false;
i++;
}
public void shows(String id){
jll[j]=new JLabel();
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource()==jb){
try {
i=0;
ObjectOutputStream oos=new ObjectOutputStream(Mthreads.getThread(id).s.getOutputStream());
Massage m=new Massage();
m.setS("20");
m.setMyid(id);
m.setXiaoxi(jt.getText().trim());
oos.writeObject(m);
} catch (IOException ioException) {
ioException.printStackTrace();
}
}else if(e.getSource()==jb1[0]){//点击后将发送好友验证请求
if(flag[0]){
int n=JOptionPane.showConfirmDialog(null,"你确定添加他为好友吗?","添加提示",JOptionPane.YES_NO_OPTION);
if(n==0){
try {
ObjectOutputStream oos=new ObjectOutputStream(Mthreads.getThread(id).s.getOutputStream());
Massage m=new Massage();
m.setS("22");
m.setMyid(id);
m.setOid(oid[0]);
m.setOname(oname[0]);
} catch (IOException ioException) {
ioException.printStackTrace();
}
}
}
}else if(e.getSource()==jb1[1]){
if(flag[1]){
int n=JOptionPane.showConfirmDialog(null,"你确定添加他为好友吗?","添加提示",JOptionPane.YES_NO_OPTION);
try {
ObjectOutputStream oos=new ObjectOutputStream(Mthreads.getThread(id).s.getOutputStream());
Massage m=new Massage();
m.setS("22");
m.setMyid(id);
m.setOid(oid[1]);
m.setOname(oname[1]);
} catch (IOException ioException) {
ioException.printStackTrace();
}
}
}else {
for(int i=0;i<10;i++){
if(e.getSource()==jll[i]){
break;
}
}
}
}
}
2.改进客服端线程,添加好友现时信息。
package qqc.mode;
import qqc.massage.Massage;
import qqc.view.qqchat;
import javax.swing.*;
import java.awt.*;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.net.Socket;
public class Mthread extends Thread{
public Socket s;
ObjectInputStream ois =null;
public Mthread(Socket s) {
this.s = s;
}
@Override
public void run() {
while(true) {
try {
ois = new ObjectInputStream(s.getInputStream());
Massage m = (Massage) ois.readObject();
if(m.getS().equals("1")){
System.out.println(m.getOid() + " " + m.getMyid());
Mqqchat.getJa(m.getOid() + " " + m.getMyid()).setOpaque(true);//信息收到标记
Mqqchat.getJa(m.getOid() + " " + m.getMyid()).setForeground(Color.BLUE);
qqchat qc = Mqqchat.getchat(m.getOid() + " " + m.getMyid());
String s=m.getMyname()+"说: " + m.getXiaoxi();
qc.shows(s);
}else if(m.getS().equals("11")){//是否在线
Mqqchat.getJa(m.getOid()+" "+m.getMyid()).setEnabled(true);
}else if(m.getS().equals("4")){//群聊
Mqqchat.getqun(m.getOid()+" "+m.getQun()).setOpaque(true);
Mqqchat.getqun(m.getOid()+" "+m.getQun()).setForeground(Color.BLUE);
Mqqchat.getqqun(m.getOid()+" "+m.getQun()).shows(m.getMyname()+"说: "+m.getXiaoxi());
}else if(m.getS().equals("20")){
Mqqchat.getfriend(m.getMyid()).shows(m.getOid(),m.getOname());
}else if(m.getS().equals("21")){
Mqqchat.getfriend(m.getMyid()).shows();
}else if(m.getS().equals("22")){//好友信息验证
Mqqchat.getfriend(m.getOid()).shows();
}else if(m.getS().equals("99")){
Mqqchat.getJa(m.getOid()+" "+m.getMyid()).setEnabled(false);
}
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
}
}
}