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

📄 applettag.java

📁 gcj java applet的web browser 插件
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
    // bit bogus anyway.    if (currentTag != null)      {	currentTag.parseArchives();	return currentTag;      }    return null;  }  public String toString()  {    return ("  name=" + name + "\n" + "  code=" + code + "\n" + "  codebase="	    + codebase + "\n" + "  archive=" + archives + "\n"	    + "  parameters=" + parameters + "\n" + "  documentbase="	    + documentbase + "\n");  }  public static Dimension getSize (AppletTag tag)  {    NumberFormat numberFormat;    Dimension size = new Dimension(320, 200);    try      {	String widthStr = (String) tag.parameters.get("width");	if (widthStr != null)	  {	    if (widthStr.charAt(widthStr.length() - 1) == '%')	      numberFormat = NumberFormat.getPercentInstance(Locale.US);	    else	      numberFormat = NumberFormat.getInstance(Locale.US);	    // FIXME: Handle percentage somehow.	    size.width = numberFormat.parse(widthStr).intValue();	  }      }    catch (ParseException e)      {	// Use default.      }    try      {	String heightStr = (String) tag.parameters.get("height");	if (heightStr != null)	  {	    if (heightStr.charAt(heightStr.length() - 1) == '%')	      numberFormat = NumberFormat.getPercentInstance(Locale.US);	    else	      numberFormat = NumberFormat.getInstance(Locale.US);	    // FIXME: Handle percentage somehow.	    size.height = numberFormat.parse(heightStr).intValue();	  }      }    catch (ParseException e)      {	// Use default.      }    return size;  }}class EmbedTag extends AppletTag{  EmbedTag(StreamTokenizer tagTokenizer, URL documentbase, String encoding)    throws IOException  {    this.documentbase = documentbase;    this.encoding = encoding;    // In an EMBED tag, a parameter is any non-standard attribute.  This    // is a problem for applets that take parameters named "code",    // "codebase", "archive", "object", or "type".  The solution is to    // allow the same attributes, prefixed by "java_".  The presence of    // a "java_" attribute indicates that the non-prefixed attribute    // should be interpreted as a parameter.  For example if "java_code"    // and "code" attributes are present in the EMBED tag then the    // "code" attribute is interpreted as a parameter.    boolean codeSet = false;    boolean codebaseSet = false;    boolean archiveSet = false;    boolean objectSet = false;    boolean javaCodeSet = false;    boolean javaCodebaseSet = false;    boolean javaArchiveSet = false;    boolean javaObjectSet = false;    while (tagTokenizer.nextToken() != '>')      {	if (tagTokenizer.ttype == StreamTokenizer.TT_WORD)	  {	    if (tagTokenizer.sval.equals("name"))	      {		name = parseAttributeString(tagTokenizer);		parameters.put("name", name);	      }	    else if (tagTokenizer.sval.equals("code"))	      {		if (javaCodeSet)		  {		    // Interpret non-prefixed attribute as a parameter.		    String key = new String(tagTokenizer.sval);		    String value = AppletTag.parseParamValue(tagTokenizer);		    parameters.put(key, value);		  }		else		  {		    code = parseAttributeString(tagTokenizer);		    codeSet = true;		  }	      }	    else if (tagTokenizer.sval.equals("java_code"))	      {		if (codeSet)		  parameters.put("code", code);		code = parseAttributeString(tagTokenizer);		javaCodeSet = true;	      }	    else if (tagTokenizer.sval.equals("object"))	      {		if (javaObjectSet)		  {		    // Interpret non-prefixed attribute as a parameter.		    String key = new String(tagTokenizer.sval);		    String value = AppletTag.parseParamValue(tagTokenizer);		    parameters.put(key, value);		  }		else		  {		    code = parseAttributeString(tagTokenizer);		    objectSet = true;		  }	      }	    else if (tagTokenizer.sval.equals("java_object"))	      {		if (objectSet)		  parameters.put("object", code);		code = parseAttributeString(tagTokenizer);		javaObjectSet = true;	      }	    else if (tagTokenizer.sval.equals("codebase"))	      {		if (javaCodebaseSet)		  {		    // Interpret non-prefixed attribute as a parameter.		    String key = new String(tagTokenizer.sval);		    String value = AppletTag.parseParamValue(tagTokenizer);		    parameters.put(key, value);		  }		else		  {		    codebase = parseAttributeString(tagTokenizer);		    codebaseSet = true;		  }	      }	    else if (tagTokenizer.sval.equals("java_codebase"))	      {		if (codebaseSet)		  parameters.put("codebase", codebase);		codebase = parseAttributeString(tagTokenizer);		javaCodebaseSet = true;	      }	    else if (tagTokenizer.sval.equals("archive"))	      {		if (javaArchiveSet)		  {		    // Interpret non-prefixed attribute as a parameter.		    String key = new String(tagTokenizer.sval);		    String value = AppletTag.parseParamValue(tagTokenizer);		    parameters.put(key, value);		  }		else		  {		    archivesList = parseAttributeString(tagTokenizer);		    archiveSet = true;		  }	      }	    else if (tagTokenizer.sval.equals("java_archive"))	      {		if (archiveSet)		  parameters.put("archive", archivesList);		archivesList = parseAttributeString(tagTokenizer);		javaArchiveSet = true;	      }	    else if (tagTokenizer.sval.equals("width"))	      {		tagTokenizer.nextToken();		tagTokenizer.nextToken();		if (tagTokenizer.ttype == StreamTokenizer.TT_NUMBER)		  this.parameters.put("width",				      Integer.toString((int) tagTokenizer.nval));		else		  this.parameters.put("width", tagTokenizer.sval);	      }	    else if (tagTokenizer.sval.equals("height"))	      {		tagTokenizer.nextToken();		tagTokenizer.nextToken();		if (tagTokenizer.ttype == StreamTokenizer.TT_NUMBER)		  this.parameters.put("height",				      Integer.toString((int) tagTokenizer.nval));		else		  this.parameters.put("height", tagTokenizer.sval);	      }	    else if (! tagTokenizer.sval.equals("align")	             && ! tagTokenizer.sval.equals("alt")	             && ! tagTokenizer.sval.equals("hspace")	             && ! tagTokenizer.sval.equals("mayscript")	             && ! tagTokenizer.sval.equals("pluginspage")	             && ! tagTokenizer.sval.equals("title")	             && ! tagTokenizer.sval.equals("type")	             && ! tagTokenizer.sval.equals("java_type")	             && ! tagTokenizer.sval.equals("vspace"))	      {		// Interpret this unknown attribute as a parameter.		String key = new String(tagTokenizer.sval).toLowerCase();		String value = AppletTag.parseParamValue(tagTokenizer);		parameters.put(key, value);	      }	  }      }  }}class ObjectTag extends AppletTag{  // See comment in EmbedTag for an explanation of these fields.  boolean codeSet;  boolean codebaseSet;  boolean archiveSet;  boolean objectSet;  boolean javaCodeSet;  boolean javaCodebaseSet;  boolean javaArchiveSet;  boolean javaObjectSet;  ObjectTag(StreamTokenizer tagTokenizer, URL documentbase, String encoding)    throws IOException  {    this.documentbase = documentbase;    this.encoding = encoding;    while (tagTokenizer.nextToken() != '>')      {	if (tagTokenizer.ttype == StreamTokenizer.TT_WORD)	  {	    if (tagTokenizer.sval.equals("name"))	      name = parseAttributeString(tagTokenizer);	    if (tagTokenizer.sval.equals("width"))	      {		tagTokenizer.nextToken();		tagTokenizer.nextToken();		if (tagTokenizer.ttype == StreamTokenizer.TT_NUMBER)		  this.parameters.put("width",				      Integer.toString((int) tagTokenizer.nval));		else		  this.parameters.put("width", tagTokenizer.sval);	      }	    else if (tagTokenizer.sval.equals("height"))	      {		tagTokenizer.nextToken();		tagTokenizer.nextToken();		if (tagTokenizer.ttype == StreamTokenizer.TT_NUMBER)		  this.parameters.put("height",				      Integer.toString((int) tagTokenizer.nval));		else		  this.parameters.put("height", tagTokenizer.sval);	      }	  }      }  }  // Parse an applet parameter.  void parseParam(StreamTokenizer tagTokenizer) throws IOException  {    String paramName = null;    String value = null;    while (tagTokenizer.nextToken() != '>')      {	if (tagTokenizer.ttype == StreamTokenizer.TT_WORD)	  {	    if (tagTokenizer.sval.equals("name"))	      {		tagTokenizer.nextToken();		tagTokenizer.nextToken();		paramName = new String(tagTokenizer.sval).toLowerCase();	      }	    else if (tagTokenizer.sval.equals("value"))	      value = parseParamValue(tagTokenizer);	  }	if (paramName != null && value != null)	  {	    if (paramName.equals("code"))	      {		if (javaCodeSet)		  // Interpret non-prefixed attribute as a parameter.		  parameters.put(paramName, value);		else		  {		    code = value;		    codeSet = true;		  }	      }	    else if (paramName.equals("java_code"))	      {		if (codeSet)		  parameters.put("code", code);		code = value;		javaCodeSet = true;	      }	    else if (paramName.equals("object"))	      {		if (javaObjectSet)		  parameters.put(paramName, value);		else		  {		    code = value;		    objectSet = true;		  }	      }	    else if (paramName.equals("java_object"))	      {		if (objectSet)		  parameters.put("object", code);		code = value;		javaObjectSet = true;	      }	    else if (paramName.equals("codebase"))	      {		if (javaCodebaseSet)		  parameters.put(paramName, value);		else		  {		    codebase = value;		    codebaseSet = true;		  }	      }	    else if (paramName.equals("java_codebase"))	      {		if (codebaseSet)		  parameters.put("codebase", codebase);		codebase = value;		javaCodebaseSet = true;	      }	    else if (paramName.equals("archive"))	      {		if (javaArchiveSet)		  parameters.put(paramName, value);		else		  {		    // Save the archive list for later processing.		    archivesList = value;		    archiveSet = true;		  }	      }	    else if (paramName.equals("java_archive"))	      {		if (archiveSet)		  parameters.put("archive", archivesList);		archivesList = value;		javaArchiveSet = true;	      }	    else if (! paramName.equals("type")		     && ! paramName.equals("java_type")	             && ! paramName.equals("mayscript")	             && ! paramName.equals("scriptable"))	      parameters.put(paramName, value);	  }      }  }}class AppTag extends AppletTag{  AppTag(StreamTokenizer tagTokenizer, URL documentbase, String encoding)    throws IOException  {    this.documentbase = documentbase;    this.encoding = encoding;    while (tagTokenizer.nextToken() != '>')      {	if (tagTokenizer.ttype == StreamTokenizer.TT_WORD)	  {	    if (tagTokenizer.sval.equals("class"))	      code = parseAttributeString(tagTokenizer);	    else if (tagTokenizer.sval.equals("src"))	      codebase = parseAttributeString(tagTokenizer);	    else if (tagTokenizer.sval.equals("width"))	      {		tagTokenizer.nextToken();		tagTokenizer.nextToken();		if (tagTokenizer.ttype == StreamTokenizer.TT_NUMBER)		  this.parameters.put("width",				      Integer.toString((int) tagTokenizer.nval));		else		  this.parameters.put("width", tagTokenizer.sval);	      }	    else if (tagTokenizer.sval.equals("height"))	      {		tagTokenizer.nextToken();		tagTokenizer.nextToken();		if (tagTokenizer.ttype == StreamTokenizer.TT_NUMBER)		  this.parameters.put("height",				      Integer.toString((int) tagTokenizer.nval));		else		  this.parameters.put("height", tagTokenizer.sval);	      }	  }      }  }}

⌨️ 快捷键说明

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