国产探花免费观看_亚洲丰满少妇自慰呻吟_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)) {


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 三河市| 哈尔滨市| 尚义县| 民县| 桃源县| 嘉兴市| 天台县| 桦南县| 宁国市| 南靖县| 叙永县| 泰来县| 肇东市| 古浪县| 沭阳县| 宜良县| 米泉市| 延寿县| 安平县| 子长县| 商河县| 鞍山市| 赤水市| 北票市| 朝阳县| 资兴市| 阿克苏市| 邳州市| 徐水县| 隆尧县| 凯里市| 乌拉特前旗| 会理县| 蒙阴县| 井陉县| 咸宁市| 正蓝旗| 正宁县| 鞍山市| 张家口市| 六枝特区|