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 }