電解金屬錳......在這種情況下,你不想進入文本你不需要 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