看看下面的代码,它在一个textarea里插入背景图像,希望对你有帮助。
import javax.swing.*;
import java.awt.*;
import java.net.*;public class BackgroundSample {
 
  public static void main(String args[]) {
    JFrame frame = new JFrame();
    
     String url="http://www.china1840-1949.net.cn/xuezhu/wenxue/images/banner.gif";
     try {
      
     final ImageIcon imageIcon = new ImageIcon(new URL(url));
     //final ImageIcon imageIcon = new ImageIcon("../images/bg.jpg");
      
     JTextArea textArea = new JTextArea()
      {
      Image image = imageIcon.getImage();     
      {setOpaque(false);}  // instance initializer
      public void paintComponent (Graphics g) {
        g.drawImage(grayImage, 0, 0, this);
        g.drawImage(image, 0, 0, this);
        super.paintComponent(g);
      }
    };
      
    Container content = frame.getContentPane();
    content.add(textArea,BorderLayout.NORTH); 
    frame.setDefaultCloseOperation(3);
    frame.setSize(300, 200);
    frame.setVisible(true);
  }
   catch(Exception e){}
}

解决方案 »

  1.   

    JTextArea做不到,建议你用JTextPane,这样你可以在里面插入图片、改变某段文字的字体、颜色,完全能做成QQ或MSN那样的效果。
      

  2.   

    可以给个JTEXTPANE插入图片的例子给我看看吗?
      

  3.   

    用JTextPane插入图片和文字:import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.text.*;
    import java.io.*;public class Test {
      JFrame frame;
      JTextPane textPane;
      File file;
      Icon image;  public Test(){
        frame = new JFrame("JTextPane");
        textPane = new JTextPane();
        file = new File("ok.gif");
        image = new ImageIcon(file.getAbsoluteFile().toString());
      }  public void insert(String str, AttributeSet attrSet) {
        Document doc = textPane.getDocument();
        str ="\n" + str ;
        try {
          doc.insertString(doc.getLength(), str, attrSet);
        }
        catch (BadLocationException e) {
          System.out.println("BadLocationException: " + e);
        }
      }  public void setDocs(String str,Color col,boolean bold,int fontSize) {
        SimpleAttributeSet attrSet = new SimpleAttributeSet();
        StyleConstants.setForeground(attrSet, col);
        //颜色
        if(bold==true){
          StyleConstants.setBold(attrSet, true);
        }//字体类型
        StyleConstants.setFontSize(attrSet, fontSize);
        //字体大小
        insert(str, attrSet);
      }  public void gui() {
        textPane.insertIcon(image);
        setDocs("第一行的文字",Color.red,false,20);
        setDocs("第二行的文字",Color.BLACK,true,25);
        setDocs("第三行的文字",Color.BLUE,false,20);
        frame.getContentPane().add(textPane, BorderLayout.CENTER);
        frame.addWindowListener(new WindowAdapter() {
          public void windowClosing(WindowEvent e) {
            System.exit(0);
          }});
        frame.setSize(200,300);
        frame.setVisible(true);
      }
      public static void main(String[] args) {
        Test test = new Test();
        test.gui();
      }}
    <------ 树欲静而风不止 ------>