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

📄 buildsmillabel.java

📁 j2me手机制作
💻 JAVA
字号:
package com.talkweb.micp.icsp.parse;

import org.kxml.kdom.Element;
import org.kxml.Attribute;
import java.util.Vector;
import com.talkweb.micp.twsmil.*;

/**
 * BuildSmilLabel.java
 * <p>标题: 建立SMIL标签对象</p>
 * <p>描述: 根据SMIL标签元素建立标签对象并设置其相关的属性值</p>
 * <p>版权: Copyright (c) 2006</p>
 * <p>公司: 湖南拓维信息系统股份有限公司</p>
 * 作者: 郭勇华
 * 版本: 1.0
 */
public class BuildSmilLabel {

    /**
     * 得到其相关的SMIL标签对象
     * @param smilElement Element SMIL文档元素
     * @return Object smil标签对象
     */
    public static Object getSmilLabel(Element smilElement){
        String smilLabel = smilElement.getName();
        if (smilLabel.equals("img")){
            return setImgLabel(smilElement) ;
        }
        else if(smilLabel.equals("audio")){
            return setAudioLabel(smilElement);
        }
        else if(smilLabel.equals("meta")){
            //return setRootLayoutLabel(smilElement);
        }
        else if(smilLabel.equals("root-layout")){
            return setRootLayoutLabel(smilElement);
        }
        else if(smilLabel.equals("region")){
            return setRegionLabel(smilElement);
        }
        return null ;
    }

    /**
     * 设置IMG标签的属性值并放回其对象
     * @param smilElement Element SMIL文档元素
     * @return ImgLabel 返回IMG标签对象
     */
    private static ImgLabel setImgLabel(Element smilElement){
       ImgLabel label = new ImgLabel();
       label.setId(smilElement.hashCode());
       Vector vecAttr = smilElement.getAttributes() ; // 得到属性的集合


        for (int j=0 ; j<vecAttr.size(); j++){

            Attribute aEle = (Attribute) vecAttr.elementAt(j) ;
            if (aEle.getName().equals("name")){
                label.setName(aEle.getValue());
            }
            else if (aEle.getName().equals("src")){
                label.setSrc(aEle.getValue());
            }
            else if (aEle.getName().equals("end")){
                label.setEnd(Integer.parseInt(aEle.getValue()));
            }
            else if (aEle.getName().equals("begin")){
                label.setBegin(Integer.parseInt(aEle.getValue()));
            }
            else if (aEle.getName().equals("region")){
                label.setRegion(aEle.getValue());
            }
            else if (aEle.getName().equals("dur")){
                label.setDur(Integer.parseInt(aEle.getValue()));
            }
            else if (aEle.getName().equals("repeatcount")){
                label.setRepeatCount(Short.parseShort(aEle.getValue()));
            }
            else if (aEle.getName().equals("repeatdur")){
                label.setRepeatDur(Integer.parseInt(aEle.getValue()));
            }
            else if (aEle.getName().equals("fill")){
                label.setFill(aEle.getValue());
            }

        }
        return label ;

    }

    /**
     * 设置AUDIO标签的属性值并放回其对象
     * @param smilElement Element SMIL文档元素
     * @return AudioLabel 返回AUDIO标签对象
     */
    private static AudioLabel setAudioLabel(Element smilElement){
       AudioLabel label = new AudioLabel();
       label.setId(smilElement.hashCode());
       Vector vecAttr = smilElement.getAttributes() ; // 得到属性的集合

        for (int j=0 ; j<vecAttr.size(); j++){
            Attribute aEle = (Attribute) vecAttr.elementAt(j) ;
            if (aEle.getName().equals("name")){
                label.setName(aEle.getValue());
            }
            else if (aEle.getName().equals("src")){
                label.setSrc(aEle.getValue());
            }
            else if (aEle.getName().equals("end")){
                label.setEnd(Integer.parseInt(aEle.getValue()));
            }
            else if (aEle.getName().equals("begin")){
                label.setBegin(Integer.parseInt(aEle.getValue()));
            }
            else if (aEle.getName().equals("region")){
                label.setRegion(aEle.getValue());
            }
            else if (aEle.getName().equals("dur")){
                label.setDur(Integer.parseInt(aEle.getValue()));
            }
            else if (aEle.getName().equals("repeatcount")){
                label.setRepeatCount(Short.parseShort(aEle.getValue()));
            }
            else if (aEle.getName().equals("repeatdur")){
                label.setRepeatDur(Integer.parseInt(aEle.getValue()));
            }
            else if (aEle.getName().equals("fill")){
                label.setFill(aEle.getValue());
            }

        }
        return label ;
    }

    /**
     * 设置Region标签的属性值并放回其对象
     * @param smilElement Element SMIL文档元素
     * @return RegionLabel 返回Region标签对象
     */
    private static RegionLabel setRegionLabel(Element smilElement){
       RegionLabel label = new RegionLabel();
       label.setId(smilElement.hashCode());
       Vector vecAttr = smilElement.getAttributes() ; // 得到属性的集合

        for (int j=0 ; j<vecAttr.size(); j++){
            Attribute aEle = (Attribute) vecAttr.elementAt(j) ;
            if (aEle.getName().equals("id")){
                label.setLabelId(aEle.getValue());
            }
            else if (aEle.getName().equals("z-index")){
                label.setZIndex(Short.parseShort(aEle.getValue()));
            }
            else if (aEle.getName().equals("left")){
                label.setLeft(Integer.parseInt(aEle.getValue()));
            }
            else if (aEle.getName().equals("height")){
                label.setHeight(Integer.parseInt(aEle.getValue()));
            }
            else if (aEle.getName().equals("title")){
                label.setTitle(aEle.getValue());
            }
            else if (aEle.getName().equals("top")){
                label.setTop(Integer.parseInt(aEle.getValue()));
            }
            else if (aEle.getName().equals("width")){
                label.setWidth(Short.parseShort(aEle.getValue()));
            }
            else if (aEle.getName().equals("backgroundColor")){
                label.setBackgroundColor(aEle.getValue());
            }
        }
        return label ;
    }

    /**
     * 设置RootLayout标签的属性值并放回其对象
     * @param smilElement Element SMIL文档元素
     * @return RootLayoutLabel 返回RootLayout标签对象
     */
    private static RootLayoutLabel setRootLayoutLabel(Element smilElement){
       RootLayoutLabel label = new RootLayoutLabel();
       label.setId(smilElement.hashCode());
       Vector vecAttr = smilElement.getAttributes() ; // 得到属性的集合

        for (int j=0 ; j<vecAttr.size(); j++){
            Attribute aEle = (Attribute) vecAttr.elementAt(j) ;
            if (aEle.getName().equals("backgroundColor")){
                label.setBackgroundColor(aEle.getValue());
            }
            else if (aEle.getName().equals("height")){
                label.setHeight(Integer.parseInt(aEle.getValue()));
            }
            else if (aEle.getName().equals("width")){
                label.setWidth(Short.parseShort(aEle.getValue()));
            }

        }
        return label;
    }


}

⌨️ 快捷键说明

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