JAVA如何实现图文混合显示

用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();  
      }  
   
  }   
 


 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值