我将JTextPane
与StyledDocument
一起使用,是否可以设置其段落的长度?
我的目标是当JTextPane
中插入的文本长度超过400px时,超过转到新行。
编辑:
我使用下面的方法为textPane设置样式
public Style getstyle(String message){
Style style = context.addStyle("mystyle", null);
StyleConstants.setForeground(style, Color.GRAY);
StyleConstants.setBackground(style, new Color(162, 234, 167));
SimpleAttributeSet mystyle = new SimpleAttributeSet();
StyleConstants.setFontFamily(style, "SansSerif");
document.setParagraphAttributes(document.getLength(), message.length(), mystyle, false);
return style;
}
并使用以下内容将文本插入我的JTextPane:
try {
document.insertString(document.getLength(), " "+message+"\n", getStyle(message));
} catch (BadLocationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
我想设置段落的长度。
EDIT2:
我对不同类型的文字使用不同的风格。
EDIT3:
我使用滚动条将JTextPane
添加到JPanel
。
context = new StyleContext();
document = new DefaultStyledDocument(context);
Pane = new JTextPane(document);
Pane.setEditable(false);
Panel.setLayout(new BoxLayout(Panel, BoxLayout.PAGE_AXIS));
JScrollPane scroll = new JScrollPane(Pane);
Panel.add(scroll , BorderLayout.CENTER);
答案 0 :(得分:0)
试试这个:
public static void main(String[] args) throws Exception {
final JTextPane pane = new JTextPane();
pane.setContentType("text/html");
final JFrame frm = new JFrame("Text editor");
pane.setText("<html><table><tr><td width=\"400\"></td></tr></table</html>");
frm.add(new JScrollPane(pane));
frm.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frm.setSize(500, 500);
frm.setVisible(true);
}
您的文字将在400px之后转到新行