advertisementtreecellrenderer.java

来自「Java p2p程序设计2002年版」· Java 代码 · 共 87 行

JAVA
87 行
字号
/*
 * AdvertisementTreeCellRenderer.java
 *
 * Created on August 15, 2001, 5:20 PM
 */

package com.sams.swing;

import net.jxta.document.*;
import net.jxta.service.*;
import net.jxta.protocol.*;
import net.jxta.endpoint.*;
import net.jxta.peer.*;
import net.jxta.impl.protocol.*;
import net.jxta.platform.*;
import net.jxta.peergroup.*;
import net.jxta.id.*;
import net.jxta.pipe.*;
import net.jxta.exception.*;
import javax.swing.*;
import javax.swing.tree.*;
import java.awt.*;

/**
 *
 * @author  Daniel Brookshier turbogeek@cluck.com
 * @version
 */
public class AdvertisementTreeCellRenderer extends DefaultTreeCellRenderer{
    
    /** Creates new AdvertisementTreeCellRenderer */
    public AdvertisementTreeCellRenderer() {
    }
    public Component getTreeCellRendererComponent( JTree tree
                                                 , Object node
                                                 ,  boolean sel
                                                 ,  boolean expanded
                                                 ,  boolean leaf
                                                 , int row
                                                 , boolean hasFocus) {
        super.getTreeCellRendererComponent( tree, node, sel, expanded, leaf, row, hasFocus);
        
        Object value =((DefaultMutableTreeNode)node).getUserObject();
        String text = value.getClass().getName()+":  ";
        
        if (value instanceof   PeerAdvertisement){
            text = ((PeerAdvertisement)value).getName() ;
        }else if (value instanceof   PeerGroup){
            text = ((PeerGroup)value).getPeerGroupName();
        }else if (value instanceof   PeerGroupAdvertisement){
            text = ((PeerGroupAdv)value).getName();
            /* Apears to be missing in the 39b release 
        }else if (value instanceof   PeerInfoAdvertisement){
            text += "SourcePID = "+((PeerInfoAdvertisement)value).getSourcePid();
             */
        }else if (value instanceof   ModuleClassAdv){
            text += "Name = "+((ModuleClassAdv)value).getName();
        }else if (value instanceof   ModuleImplAdv){
            text += "Code = "+((ModuleImplAdv)value).getCode();
        }else if (value instanceof   ModuleSpecAdv){
            text += "Name = "+((ModuleSpecAdv)value).getName();
        }else if (value instanceof   RdvAdvertisement){
            text += "Name = "+((RdvAdvertisement)value).getName();
        }else if (value instanceof   EndpointAdvertisement){
            text += "Name = "+((EndpointAdvertisement)value).getName();
        }else if (value instanceof   TransportAdvertisement){
            text += "Type = "+((TransportAdvertisement)value).getAdvertisementType();
        }else if (value instanceof   PipeAdvertisement){
            text += "PipeName = "+((PipeAdvertisement)value).getName();
        }else if (value instanceof   HTTPAdv){
            text += ((HTTPAdv)value).getProtocol()+" Addrr = "+ ((HTTPAdv)value).getServer()+":"+ ((HTTPAdv)value).getPort() ;
        }else if (value instanceof   TCPAdv){
            text += ((TCPAdv)value).getProtocol()+" Addr = "+((TCPAdv)value).getInterfaceAddress()+" port"+ ((TCPAdv)value).getPort() ;
        }else if (value instanceof BeepAdv){
            text += ((BeepAdv)value).getProtocol()+" Addr = "+((BeepAdv)value).getPublicAddress()+" & local="+((BeepAdv)value).getLocalAddress()+" port"+ ((BeepAdv)value).getPort() ;
        }else if (value instanceof   String){
            text = (String)value;
        }else {
            text += " NOT EVALUATED";
        }
        if (text.length() == 0){
            text = "none";
        }
        setText(text);
        return this;
    }// end of getTreeCellRendererComponent()
}// End of class AdvertisementTreeCellRenderer

⌨️ 快捷键说明

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