[java]일정 길이의 텍스트 자르기.

프로그래밍/JAVA 2008.08.26 10:42 posted by 야매코더
j2me(WIPI)에서 쓰기 위해 작성함..

      // 일정 길이에 따른 텍스트 자르기
      public final String[] string2array(String text, int width) {
            Vector sentence = new Vector();
            Font font = Font.getDefaultFont();//이곳은 특수문자로 인해서 paint()안에도 폰트설정을 해주어야 함.

            int i = 0;
            int Start = 0;

            for (i = 0; i < text.length(); i++) {
                  if (font.stringWidth(text.substring(Start, i + 1)) > width || text.charAt(i) == '|') {
                        sentence.addElement(text.substring(Start, i));
                        Start = i;
                        if (text.charAt(i) == '|')
                              Start++;
                  }
            }

            if (Start != text.length()) {
                  sentence.addElement(text.substring(Start, text.length()));
            }

            int nLineNum = sentence.size();
            String[] outText = new String[nLineNum];

            for (i = 0; i < nLineNum; i++) {
                  outText[i] = "" + sentence.elementAt(i);
            }
            return outText;
      }