电解金属锰......在这种情况下,你不想进入文本你不需要 JTextArea中。 ..只是为了显示一些文本,你可以简单地使用JLabel; JLabel支持HTML文本格式,所以你可以很容易地使用它我的方法是这样
...
JPanel aPanel=new JLanel(new FlowLayout());
JLabel aLabel=new JLabel();
aPanel.add(aLabel);
void showFormattedText(String html)
{
aLabel.setText(html);
}
...
正如你可能猜到了,格式化文本,可就是这样
<html>
Put some text<br>
...<br>
</html>
我希望你有概念
什么...
迷你解析器 - 未经测试
String getFormattedText(String text)
{
char commonBR='\n';
String htmlBR="<br>";
char check;
String result="";
for(int i=0; i<text.length(); i++)
{
check=text.charAt(i);
if(check==commonBR)
{
result+=htmlBR;
continue;
}
result+=check;
}
return result;
}
...
void test
{
String text="Hello world \n Hello World once again \n ...and again ";
System.out.println(this.getFormattedText(text));
}
...这是不是虽然最终的解决方案,但一个基础概念。我希望这是有益的
好运
感谢。我继承了这些代码,这就是他们使用的。但是,我同意你的看法,即不需要编辑JTextArea。只是让我理解你,因为如果我不把
标记放入JLabel中,那么JLabel就足够聪明,可以自行拆分这些行,并根据需要添加行(如html页面)?我所显示的文字只是随机输入的字符串。它能够足够聪明地打破文字界限吗?如果是这样,那么这就是我所需要的。 – 2012-03-23 20:44:30
'放一些文字
'使用样式而不是强硬的换行符。这样,文本可以根据需要包装到下一行,而没有任何复杂性。请参阅[示例](http://stackoverflow.com/a/7861833/418556)。 – 2012-03-23 20:53:53
@SteveCohen不,HTML内容不会自动换行。看到我的例子使用CSS来解决这个问题。 – 2012-03-23 20:54:48