dcoutputrenderer.java

来自「java xml 应用开发」· Java 代码 · 共 115 行

JAVA
115
字号
import java.awt.Component;

import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeCellRenderer;

/**
 * @author Elena Skobchenko
 */

public class DCOutputRenderer extends DefaultTreeCellRenderer 
{
    private static final long serialVersionUID = 626128726824503000L;
    
    private INIReader iniFile;

    public DCOutputRenderer(INIReader ini)
    {
        this.iniFile = ini;
    }
    
    public Component getTreeCellRendererComponent(
        JTree jdfTree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFoc)
    {
        super.getTreeCellRendererComponent(jdfTree, value, sel, expanded, leaf, row, hasFoc);
        
        final DefaultMutableTreeNode node = (DefaultMutableTreeNode) value;
        final Object object = node.getUserObject();

        if (object instanceof DCOutputWrapper) 
        {
            final DCOutputWrapper baseElem = (DCOutputWrapper) object;
            final String n = baseElem.getElement().getTagName();

            if (n.equals("RejectedNode")||n.equals("RejectedChildNode"))
            {
                if (sel)
                    setIcon(iniFile.errElemIconS);
                else
                    setIcon(iniFile.errElemIcon);
            }
            else if (n.equals("InvalidAttribute")||n.equals("InvalidSpan")||n.equals("InvalidComment"))
            {
                if (sel)
                    setIcon(iniFile.errAttIconS);
                else
                    setIcon(iniFile.errAttIcon);
            }
            else if (n.equals("InvalidSubelement")||n.equals("InvalidResource")||n.equals("InvalidPartitionLeaf"))
            {
                if (sel)
                    setIcon(iniFile.errElemIconS);
                else
                    setIcon(iniFile.errElemIcon);
            }
            else if (n.equals("UnknownSubelement"))
            {
                if (sel)
                    setIcon(iniFile.errElemIconS);
                else
                    setIcon(iniFile.errElemIcon);
            }
            else if (n.equals("MissingAttribute")||n.equals("MissingSpan"))
            {
                if (sel)
                    setIcon(iniFile.errAttIconS);
                else
                    setIcon(iniFile.errAttIcon);
            }
            else if (n.equals("UnknownAttribute")||n.equals("UnknownSpan"))
            {
                if (sel)
                    setIcon(iniFile.errAttIconS);
                else
                    setIcon(iniFile.errAttIcon);
            }
            else if (n.equals("MissingSubelement")||n.equals("MissingResourceLink")
                    ||n.equals("MissingCustomerInfo")||n.equals("MissingNodeInfo"))
            {
                if (sel)
                    setIcon(iniFile.errElemIconS);
                else
                    setIcon(iniFile.errElemIcon);
            }
            else if (n.equals("MissingResources")||n.equals("InvalidResources")
                    ||n.equals("UnknownResources"))
            {
                if (sel)
                    setIcon(iniFile.elemIconS);
                else
                    setIcon(iniFile.elemIcon);
            }
            else if (n.equals("BugReport"))
            {
                // default
            }
            else
            {
                if (sel || !sel)
                    setIcon(null);
            }
        }
        else if (object instanceof JDFWrapper)
        {
            if (sel)
                setIcon(iniFile.jdfElemIcon);
            else
                setIcon(iniFile.jdfElemIcon);
        }
        
        return this;
    }
}

⌨️ 快捷键说明

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