findtablelistener.java

来自「一个基于NetBeans平台开发的」· Java 代码 · 共 53 行

JAVA
53
字号
package com.sinpool.rivercrescent.Listener;

import net.jxta.discovery.*;
import net.jxta.protocol.*;
import net.jxta.peergroup.*;
import net.jxta.document.*;
import java.util.*;
import java.io.*;

import com.sinpool.rivercrescent.*;


public class FindTableListener implements DiscoveryListener{
	private Vector tableList;
	private String s = null;
	private PeerGroupAdvertisement adv = null;
	private NetWork nw = null;
	
	public FindTableListener (Vector v,NetWork nw){
		this.tableList = v;
		this.nw = nw;
                
                //需要把上一次的搜索结果清空。
                tableList.removeAllElements();
	}

	public void discoveryEvent(DiscoveryEvent event){
		DiscoveryResponseMsg msg = event.getResponse();
		Enumeration e = msg.getResponses();
		
		while (e.hasMoreElements()){
			s = (String)e.nextElement();
			try{
				adv = (PeerGroupAdvertisement)
						AdvertisementFactory.newAdvertisement(
							new MimeMediaType("text/xml"),
							new ByteArrayInputStream(s.getBytes()));
			}catch (IOException ioe) {System.out.println("FindTableListener 出现异常!");}
			
			boolean signal = false;
			for(int i=0;i<tableList.size();i++){
				if ( ((PeerGroupAdvertisement)tableList.get(i)).getID().toString().equals(adv.getID().toString()) ) 
				{
					signal =true;
					break;
				}
			}
			if (signal) continue;
			tableList.addElement(adv);
		}
                nw.printTables();
	}
}

⌨️ 快捷键说明

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