我想知道是否有办法在JTextArea中设置文本样式;
我必须插入文本行,每行包含可能具有不同样式和内容类型的段;内容类型将决定与其相关的细分可用的操作。
可以用另一种方式吗?有什么建议来提升表现吗? 谢谢。
答案 0 :(得分:2)
我检查了JTextPane和JEditorPane,发现它们太复杂了
是的,这就是编程的工作方式。如果你想做一些更复杂的事情,那么你需要使用更高级的组件。
JTextArea不支持样式文本,这就是它易于使用的原因。 JTextPane确实支持样式文本,因此它更“复杂”。
一旦创建了几个用于每组文本的样式,JTextPane就不那么复杂了。例如:
JText textPane = new JTextPane();
textPane.setText( "This is regular text"");
StyledDocument doc = textPane.getStyledDocument();
// Add some styled text
SimpleAttributeSet green = new SimpleAttributeSet();
StyleConstants.setForeground(green, Color.GREEN);
try
{
doc.insertString(doc.getLength(), "\nThis is green text.", green);
}
catch(Exception e) { System.out.println(e); }