⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 findfriend2.java

📁 JAVA的高级应用以及网络编程
💻 JAVA
字号:
import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.*;import java.util.Vector;import java.net.*;import java.io.*; public class FindFriend2 extends JFrame {//查找好友类	JLabel jLabel1 = new JLabel();	JButton find2 = new JButton();	JButton jButton1 = new JButton();	JButton jButton2 = new JButton();	JButton jButton3 = new JButton();	JList list2;///////////////////以下是好友的呢称,性别等信息	Vector nickname=new Vector();	Vector sex=new Vector();	Vector place=new Vector();	Vector jicq=new Vector();	Vector ip=new Vector();	Vector pic=new Vector();	Vector status=new Vector();	Vector emails=new Vector();	Vector infos=new Vector();//以下临时保存好友的呢称,性别等信息	Vector tmpjicq=new Vector();//jicqid	Vector tmpname=new Vector();//jicqname	Vector tmpip=new Vector();//ip	Vector tmppic=new Vector();//pic info	Vector tmpstatus=new Vector();//status	Vector tmpemail=new Vector();	Vector tmpinfo=new Vector();//以下创建网络相关变量	Socket socket;	BufferedReader in;    PrintWriter out;    int myid;    String serverhost;    int servport;	DatagramPacket sendPacket;	DatagramSocket sendSocket;    int sendPort=5000;//////////////////	JPopupMenu findmenu = new JPopupMenu();	JMenuItem look = new JMenuItem();	JMenuItem add = new JMenuItem();	//查找好友类构造函数	public FindFriend2(int whoami,String host,int port) {		enableEvents(AWTEvent.WINDOW_EVENT_MASK);		try {		serverhost=host;		servport=port;        myid=whoami;		jbInit();		}		catch(Exception e) {		e.printStackTrace();		}		//以下与服务器连接		try{			socket=new Socket(InetAddress.getByName(serverhost),servport);			in=new BufferedReader(new InputStreamReader(socket.getInputStream()));			out=new PrintWriter(new BufferedWriter(                              new OutputStreamWriter(socket.getOutputStream())),true);			sendSocket=new DatagramSocket();		}catch(IOException e1){}	}//构造器结束		//以下是程序界面	private void jbInit() throws Exception {    jLabel1.setText("下面是在线的朋友");    jLabel1.setBounds(new Rectangle(11, 11, 211, 18));    this.getContentPane().setLayout(new FlowLayout());    find2.setText("查找");    find2.setBounds(new Rectangle(8, 289, 79, 29));    find2.addMouseListener(new java.awt.event.MouseAdapter() {		public void mouseClicked(MouseEvent e) {			find2_mouseClicked(e);      }    });    jButton1.setText("next");    jButton1.setBounds(new Rectangle(110, 288, 79, 29));    jButton2.setText("up");    jButton2.setBounds(new Rectangle(211, 285, 79, 29));    jButton3.setText("cancel");    jButton3.setBounds(new Rectangle(317, 289, 79, 29));   // nickname=new Vector();    // sex=new Vector();    // place=new Vector();    ListModel model=new FindListModel(nickname,sex,place);//列表模型    ListCellRenderer renderer=new FindListCellRenderer();    list2=new JList(model);    list2.setSize(200,200);    list2.setBackground(new Color(255, 255, 210));    list2.setAlignmentX((float) 1.0);    list2.setAlignmentY((float) 1.0);    list2.setCellRenderer(renderer);    list2.setVisibleRowCount(7);    list2.addMouseListener(new java.awt.event.MouseAdapter() {		public void mousePressed(MouseEvent e) {			list2_mousePressed(e);      }    });    look.setText("查看资料");    add.setText("加为好友");    add.addMouseListener(new java.awt.event.MouseAdapter() {		public void mousePressed(MouseEvent e) {			add_mousePressed(e);      }    });    this.getContentPane().add(jLabel1, null);	this.getContentPane().add(new JScrollPane(list2));    this.getContentPane().add(find2, null);    this.getContentPane().add(jButton1, null);    this.getContentPane().add(jButton2, null);    this.getContentPane().add(jButton3, null);    findmenu.add(look);    findmenu.add(add);	}//jbInit结束		//以下是关闭本窗口	protected void processWindowEvent(WindowEvent e) {		super.processWindowEvent(e);		if (e.getID() == WindowEvent.WINDOW_CLOSING) {			//this.dispose();			this.hide();		}	} //以下向服务器发送查找好友请求	void find2_mouseClicked(MouseEvent e) {		out.println("find");		DefaultListModel mm=(DefaultListModel)list2.getModel();		/////////////////find friend info		try{			String s=" ";			//从服务器读取好友信息			do{  s=in.readLine();				if(s.equals("over")) break;				nickname.add(s);				sex.add(in.readLine());				place.add(in.readLine());				ip.add(in.readLine());				emails.add(in.readLine());				infos.add(in.readLine());			}while(!s.equals("over"));			/////////////end  find  info			//read their jicqno			int theirjicq,picinfo,sta;			for(int x=0;x<nickname.size();x++){				theirjicq=Integer.parseInt(in.readLine());				//System.out.println(theirjicq);				jicq.add(new Integer(theirjicq));				picinfo=Integer.parseInt(in.readLine());				pic.add(new Integer(picinfo));				sta=Integer.parseInt(in.readLine());				//System.out.println(sta);				status.add(new Integer(sta));				//System.out.println(jicq.get(x));			}			//在列表中显示			for(int i=0;i<nickname.size();i++){				mm.addElement(new Object[]{nickname.get(i),sex.get(i),place.get(i)});			}//for		}catch(IOException e4){System.out.println("false");}	}//find2_mouseClicked结束		//显示查找好友菜单	void list2_mousePressed(MouseEvent e) {		findmenu.show(this,e.getX()+20,e.getY()+50);	}		/////////////add frined	//以下将添加的好友存储在临时矢量	void add_mousePressed(MouseEvent e) {		//add friend to database		int dd;		dd=list2.getSelectedIndex();		tmpjicq.add(jicq.get(dd));		tmpname.add(nickname.get(dd));		tmpip.add(ip.get(dd));		tmppic.add(pic.get(dd));		tmpstatus.add(status.get(dd));		tmpemail.add(emails.get(dd));		tmpinfo.add(infos.get(dd));		//以下向服务器发送添加好友请求		out.println("addfriend");		out.println(jicq.get(dd));		out.println(myid);		try{ //以下告诉客户将其加为好友			String whoips;			String  s="oneaddyou"+myid;			s.trim();			System.out.println(s);			byte[] data=s.getBytes();			whoips=ip.get(dd).toString().trim();			sendPacket=new			DatagramPacket(data,s.length(),InetAddress.getByName(whoips),sendPort);			sendSocket.send(sendPacket);		} catch(IOException e2){e2.printStackTrace();}		//}catch(IOException df){};	}/////////////add friend end}//FindFriend2类定义结束

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -