public void paint(Graphics g) {
        Graphics2D g2;
        g2 = (Graphics2D) g;
        g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                            RenderingHints.VALUE_ANTIALIAS_ON);
        g2.setRenderingHint(RenderingHints.KEY_RENDERING,
                            RenderingHints.VALUE_RENDER_QUALITY);        Font f = new Font("Times",Font.BOLD, 24);
AttributedString ats = new AttributedString("The  Starry  Night");
ImageGraphicAttribute iga = new ImageGraphicAttribute(img, (int) BOTTOM_ALIGNMENT);
ats.addAttribute(TextAttribute.CHAR_REPLACEMENT, iga, 4, 5);
        ats.addAttribute(TextAttribute.CHAR_REPLACEMENT, iga, 11, 12);
ats.addAttribute(TextAttribute.FONT, f, 0, 18);
AttributedCharacterIterator iter = ats.getIterator();        FontRenderContext frc = g2.getFontRenderContext();
        tl = new TextLayout(iter, frc);
        g2.setColor(Color.red);
tl.draw(g2, (float)20, (float)30);
    }
主要是public void addAttribute(AttributedCharacterIterator.Attribute attribute,Object value,int beginIndex,int endIndex) 这个方法不知道是如何添加的.
以及ImageGraphicAttribute 这个类究竟是做什么的。 看了API文档也没看懂。