首页 > 代码库 > java中JTextPane使输出字符到指定的宽度换行,并将垂直滚动条的位置移动到输出的最后位置

java中JTextPane使输出字符到指定的宽度换行,并将垂直滚动条的位置移动到输出的最后位置

 SimpleAttributeSet set = new SimpleAttributeSet(); Document doc = tp.getStyledDocument();  FontMetrics fm = tp.getFontMetrics(tp.getFont());//得到JTextPane 的当前字体尺寸 int paneWidth = tp.getWidth();//面板的宽度 String text = new String(bt, 0, len); 
        try              {                  for(int i = 0, cnt = 0; i < text.length(); ++i){                      if((cnt += fm.charWidth(text.charAt(i))) >= paneWidth){//当属出字符的宽度大于面板的宽度时换行,也就是达到JTextPane不会出现水平的滚动条                          cnt = 0;                          doc.insertString(doc.getLength(), "\n", set);                          continue;                      }                      doc.insertString(doc.getLength(), String.valueOf(text.charAt(i)), set);                  }                  doc.insertString(doc.getLength(), "\n", set);                                    tp.setCaretPosition(doc.getLength());//最简单的设置滚动条的位置到最后输出文本的地方                                                         //就是将JTextPane中的插入符的位置移动到文本的末端!              }
       

 

java中JTextPane使输出字符到指定的宽度换行,并将垂直滚动条的位置移动到输出的最后位置