• 保留字体大小与颜色


    JTextArea是纯文本组件,可以使用JTextPane,通过操作Document文档来控制JTextPane显示的内容,下面的代码在一个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("./classes/test/icon.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();  
          }  
      }
  • 相关阅读:
    JavaScript 监听回车事件
    上下文(Context)和作用域(Scope)
    图解Javascript上下文与作用域
    JavaScript的作用域(Scope)和上下文(Context)
    Table 边框合并(collapse)
    Aspose.Words .NET如何实现文档合并的同页分页显示
    【C#.NET】Http Handler 介绍---(转)
    Oracle无监听程序
    PL/SQL程序设计、流程控制
    ORACLE函数、连接查询、约束
  • 原文地址:https://www.cnblogs.com/mingforyou/p/2207143.html
Copyright © 2020-2023  润新知