2014-01-23 57 views
1

當前正在尋找一種方法來顯示我的程序的介紹。程序的每一部分都有自己的指令,這些指令都是ser線。在每行的末尾有格式化\n\nJPanel顯示大量的文本

如果字體大小自動調整爲面板大小,並且文本居中,這將很酷。我嘗試了TextLayout並將文本添加到簡單的JLabel,但沒有一個能夠正確顯示文本。

有關如何完成此任務的任何建議?

+4

爲什麼你不使用'JTextArea'與'JScrollPane'? –

+0

我的建議是學習一些動態的GUI編程。 – Tdorno

+0

我建議使用類似'JLabel'的東西,並可能使用HTML中包裝的文本,或者使用'JEditorPane',它可以使用HTML進行格式化。如果你真的確定,你可以看看[這個例子](https://stackoverflow.com/questions/20818489/text-resize-according-to-button-label-size/20820112#20820112),這表明了' JLabel,它會根據可用空間嘗試調整其字體大小......但它真的很糟糕...... – MadProgrammer

回答

1

您還可以在JLabel文本中使用HTML格式。所有你需要做的就是圍繞文本與<HTML>和</HTML >,設置有<字體>元素的字體大小,以及與<BR>更換每\ n。

String formatted = text.replace("\n", "<br>"); 
formatted = "<html><font size='9'>" + formatted + "</font></html>"; 
JLabel label = new JLabel(formatted); 

參見How to Use HTML in Swing Components

0

你可以給列數到您的JTextField
這樣的:

JtextField textField = new JtextField("I Have a Big Text and I want show it now!",40); 

40列索引,這意味着文本有更多的列現在會顯示在默認情況下的數據。 和其他方式你應該使用JTextArea