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中的插入符的位置移動到文字的末端!
}