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

简介: SimpleAttributeSet set = new SimpleAttributeSet(); Document doc = tp.getStyledDocument(); FontMetrics fm = tp.
 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中的插入符的位置移动到文本的末端! }
       

 

目录
相关文章
|
5月前
span标签显示固定长度显示省略号,光标放上显示全部
span标签显示固定长度显示省略号,光标放上显示全部
|
5月前
|
小程序 容器
小程序view标签内数字/字母显示不换行
小程序view标签内数字/字母显示不换行
105 0
|
5月前
|
前端开发
文字不换行超出后左右滑动
文字不换行超出后左右滑动
31 0
|
5月前
layUI table 内容超出宽度怎么换行显示,而不是显示省略号
layUI table 内容超出宽度怎么换行显示,而不是显示省略号
110 0
|
9月前
|
Java
编写程序将“jdk”全部变为大写并输出到屏幕,截取子串“DK”并输出到屏幕。
编写程序将“jdk”全部变为大写并输出到屏幕,截取子串“DK”并输出到屏幕。
145 0
|
9月前
用键盘读入一个字符,然后在屏幕上显示一个用这个字符填充的对角线长5个字符,倾斜放置的菱形
用键盘读入一个字符,然后在屏幕上显示一个用这个字符填充的对角线长5个字符,倾斜放置的菱形
python:填充,空白,对齐字符串的方法
str对象包括如下用于填充,空白,对齐字符串的方法
|
10月前
|
JavaScript 前端开发
绚烂的文本换行,打破常规元素背景填充规则
在我们的日常开发中,为一个元素设置背景、边框、阴影、内外边距等,通常是会应用在整个元素上; 例如我为一个元素设置一个背景图,根据背景图的填充规则设定,这个图片可能会出现重复,或者拉伸,或者多余的地方留
76 0
绚烂的文本换行,打破常规元素背景填充规则
|
10月前
|
C语言 C++
C/C++格式化输入与输出(位宽,左右对齐,%d,%f等)总结
C/C++格式化输入与输出(位宽,左右对齐,%d,%f等)总结
03:对齐输出
03:对齐输出
80 0