码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2014-09-24 01:45:05      阅读:303      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   os   java   ar   for   div   

 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使输出字符到指定的宽度换行,并将垂直滚动条的位置移动到输出的最后位置

标签:style   blog   color   io   os   java   ar   for   div   

原文地址:http://www.cnblogs.com/hujunzheng/p/3989510.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!