zoukankan      html  css  js  c++  java
  • 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(), "
    ", set);
                              continue;
                          }
                          doc.insertString(doc.getLength(), String.valueOf(text.charAt(i)), set);
                      }
                      doc.insertString(doc.getLength(), "
    ", set);
                      
                      tp.setCaretPosition(doc.getLength());//最简单的设置滚动条的位置到最后输出文本的地方
                                                             //就是将JTextPane中的插入符的位置移动到文本的末端!
                  }
           
  • 相关阅读:
    HTML5之特效
    css3圆角矩形、盒子阴影
    vertical-align垂直居中
    CSS3选择器
    经典导航栏
    C#获得时间段
    C#抓取和分析网页的类
    c#基础知识索引器
    强制浏览器重定向到另一页
    雅虎公司C#笔试题及参考答案
  • 原文地址:https://www.cnblogs.com/hujunzheng/p/3989510.html
Copyright © 2011-2022 走看看