001 package org.util.xml.renderer.html; 002 003 import org.util.xml.parse.policy.*; 004 import org.util.xml.parse.*; 005 import org.util.xml.element.*; 006 import java.awt.*; 007 import java.awt.event.*; 008 import java.awt.geom.*; 009 import javax.swing.*; 010 import javax.swing.event.*; 011 import java.util.*; 012 import java.awt.font.*; 013 import java.awt.image.*; 014 import java.net.*; 015 016 public class HTMLImage extends HTMLObject { 017 018 BufferedImage image_; 019 020 public HTMLImage(TagElement tag) { 021 String url_text = tag.getAttributeValue("src"); 022 URI uri = tag.getDocumentBase().resolve(url_text); 023 // alert("img :"+url_text); 024 try{ 025 image_ = javax.imageio.ImageIO.read(uri.toURL()); 026 setPreferredSize(image_.getWidth(), image_.getHeight()); 027 setPreferredLocation(0,0); 028 }catch(Exception e){ 029 image_ = new BufferedImage(100, 100, BufferedImage.TYPE_INT_ARGB); 030 Graphics g = image_.getGraphics(); 031 g.drawLine(0,99,99,0); 032 g.drawLine(0,0,99,99); 033 e.printStackTrace(); 034 } 035 } 036 037 public void paint(Graphics g) { 038 debug("draw start"); 039 debug(preferred_width_+""); 040 g.drawImage(image_, (int)x_, (int)y_, null); 041 debug("draw end"); 042 } 043 044 public Element allowElement(Element element) { 045 if(element.isTagElement()) { 046 TagElement tag = (TagElement)element; 047 if(tag.getKey().equals("img")) { 048 write(new HTMLImage(tag)); 049 } else { 050 System.out.println("tag["+tag+"]"); 051 } 052 } else { 053 TextElement text_element = (TextElement)element; 054 // System.out.println("text["+element+"]"); 055 html_text = text_element.getValue(); 056 } 057 return element; 058 } 059 060 }