2011-03-03 116 views
0
public class TestEye extends MainScreen { 

    LabelField l1,l2; 
    RichTextField rch; 
    VerticalFieldManager vfm; 
    Font myfont1; 
    String word[]={"F D","N P","U H","F Z","K R","U V","Z E","E K","P Z","V N"}; 

public TestEye() 
{ 
     vfm=new VerticalFieldManager(VerticalFieldManager.USE_ALL_WIDTH|VerticalFieldManager.USE_ALL_HEIGHT) 
      { 
      protected void paint(Graphics graphics) 
         { 
          graphics.setColor(Color.BLACK); 
          graphics.fillRect(0, 0, Display.getHorizontalResolution(), Display.getVerticalResolution()); 
          super.paint(graphics); 
         } 
      }; 
     l1=new LabelField("----------------",Field.USE_ALL_WIDTH|Field.USE_ALL_HEIGHT); 
     l2=new LabelField("----------------",Field.USE_ALL_WIDTH|Field.USE_ALL_HEIGHT); 
     rch=new RichTextField() 
      { 


       public void paint(Graphics g) 
       { 
         g.setBackgroundColor(Color.BLACK); 
         g.setColor(Color.WHITE); 
          super.paint(g); 
       } 
      }; 
     vfm.add(l1); 
     vfm.add(l2); 
     vfm.add(rch); 
     add(vfm); 
     System.out.println("::::::::::::::::end test eye:::::::::::::::"); 
     push(word); 
    } 

    public void push(final String arr1[]) { 

     new Thread(new Runnable() 
     { 
      public void run() 
      { 
         int k=20; 
        for(int i=0;i<10;i++) 
         { 
          try 
           {  
            String data=arr1[i]; 
            Font myfont1=Font.getDefault().derive(Font.PLAIN,k); 
            rch.setFont(myfont1); 
            rch.setText("      "+(data)); 
            k=k-2; 
           } 
          catch(Exception ex) 
           { 
            ex.printStackTrace(); 
           } 
          try 
           { 
            Thread.sleep(2000); 
           } 
          catch (InterruptedException e) 
           { 
            e.printStackTrace(); 
           } 
         } 


       } 

     }).start(); 
    } 
} 

我必須減少字符串數組中使用的每個單詞的字體大小。
這是我的代碼,但在這裏面for循環字體不工作,所以請檢查它並給我一些建議,謝謝如何縮小字體大小?

回答

0

您正在設置循環中整個字段的字體。如果您希望字段內容的不同部分使用不同的字體,那不是實現它的方法。查看RichTextField的文檔,瞭解如何使用多參數setText方法爲文本的不同部分定義不同的字體。

2

你可以試試ActiveRichTextField。在ActiveRichTextField中,不僅可以賦予不同的字體,還可以賦予不同的顏色。

例如

String data = "Hello World!"; 
int offsets[] ={0,5,data.length()}; 
Font[] fonts = new Font[] { Font.getDefault(), Font.getDefault()}; 
int bg[] = new int[] { Color.WHITE, Color.WHITE}; 
int fg[] = new int[] { Color.BLACK, Color.RED}; 
byte attributes[] = {0,1}; 

add(new ActiveRichTextField(data, offsets, attributes, fonts, 
           fg, bg, 0));