當前正在尋找一種方法來顯示我的程序的介紹。程序的每一部分都有自己的指令,這些指令都是ser線。在每行的末尾有格式化\n\n
。JPanel顯示大量的文本
如果字體大小自動調整爲面板大小,並且文本居中,這將很酷。我嘗試了TextLayout
並將文本添加到簡單的JLabel
,但沒有一個能夠正確顯示文本。
有關如何完成此任務的任何建議?
當前正在尋找一種方法來顯示我的程序的介紹。程序的每一部分都有自己的指令,這些指令都是ser線。在每行的末尾有格式化\n\n
。JPanel顯示大量的文本
如果字體大小自動調整爲面板大小,並且文本居中,這將很酷。我嘗試了TextLayout
並將文本添加到簡單的JLabel
,但沒有一個能夠正確顯示文本。
有關如何完成此任務的任何建議?
您還可以在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);
我同意@Josh M,你應該嘗試使用帶有JScrollPane的JTextArea(http://docs.oracle.com/javase/7/docs/api/javax/swing/JTextArea.html)。或者,如果您不希望用戶過多操作GUI,則可以使用\ n(http://www.coderanch.com/t/579851/java/java/actual-character-Java)和\ t(http://forum.codecall.net/topic/53052-what-does-n-and-t-mean/)等基本內容手動設置文本格式。
你可以給列數到您的JTextField
這樣的:
JtextField textField = new JtextField("I Have a Big Text and I want show it now!",40);
40列索引,這意味着文本有更多的列現在會顯示在默認情況下的數據。 和其他方式你應該使用JTextArea
爲什麼你不使用'JTextArea'與'JScrollPane'? –
我的建議是學習一些動態的GUI編程。 – Tdorno
我建議使用類似'JLabel'的東西,並可能使用HTML中包裝的文本,或者使用'JEditorPane',它可以使用HTML進行格式化。如果你真的確定,你可以看看[這個例子](https://stackoverflow.com/questions/20818489/text-resize-according-to-button-label-size/20820112#20820112),這表明了' JLabel,它會根據可用空間嘗試調整其字體大小......但它真的很糟糕...... – MadProgrammer