国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

如何在J2ME的低級界面中輕松實現各種文字的自然分行顯示

2019-11-17 06:06:52
字體:
來源:轉載
供稿:網友

游戲的時候,非凡是在一些對話比較多的情況下,如RPG游戲,經常碰到文字的斷行顯示問題
如何做到不管如何變化文字,都能夠比較好地顯示呢,下面有一個函數可以對文字進行分行,然后就可以一行行地打印了

第四個參數主要是對像英語這樣多個字母組成一個單詞的語言而設置的,因為像英語你不能把一個單詞一分為二成兩行的,可以傳入一些分詞的標志,如空格、標點符號什么的,如“ ,.?!”
中文沒有關系
但是日文我也鬧不大清楚,不知道它是怎么分詞的,是和中文一樣,還是和英文一樣

  /**@todo 對一段文字進行分行,這種分行是針對于某個字體
   * @author efei
   * @param strSource String 待分行的字符串
   * @param font Font 使用的字體
   * @param width int 分行后需要滿足的寬度
   * @param strSplit String 斷詞判定字符,如空格和一些標點符號。中文不需要斷詞,則傳空字符串
   * @return Vector
   */
  public Vector getSubsection(String strSource,Font font
                              ,int width,String strSplit){
     Vector vector = new Vector();
     String temp=strSource;
     int i,j;
     int LastLength = 1;
     int step = 0;
     try{
         while (!temp.equals("")) {
           i=temp.indexOf("/n");
           if(i>0){
      if(font.stringWidth(temp.substring(0,i-1)) >= width){
               i = -1;
             }
           }
           if(i==-1){
             if(LastLength>temp.length()){
               i = temp.length();
             }else{
               i = LastLength;
               step = font.stringWidth(temp.substring(0, i)) > width ? -1 : 1;
               //得到臨界點
               if(i<temp.length()){
                 while (! (font.stringWidth(temp.substring(0, i)) <= width
                           && font.stringWidth(temp.substring(0, i + 1)) > width)) {


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 灵璧县| 岑溪市| 赫章县| 景泰县| 黄梅县| 冕宁县| 米易县| 五莲县| 潼南县| 河北区| 静乐县| 商水县| 灵川县| 尼木县| 垫江县| 黔江区| 来安县| 兴隆县| 米易县| 涞水县| 潼南县| 大竹县| 白水县| 越西县| 平定县| 北安市| 巴塘县| 保靖县| 府谷县| 广宗县| 武功县| 盐源县| 南召县| 孟州市| 拜泉县| 留坝县| 蒲城县| 沐川县| 长汀县| 天门市| 泸溪县|