JPanel显示大量文本

时间:2014-01-23 23:59:56

标签: java swing text jpanel

我目前正在搜索显示我的程序简介的方法。程序的每个部分都有自己的指令,这些指令是长的serval行。在每一行的末尾都有\n\n格式化。

如果字体大小自动调整到面板大小并且文本将居中,那将会很酷。我尝试了TextLayout并将文字添加到简单的JLabel,但没有一个正确显示文字。

有关如何完成此任务的任何建议?

3 个答案:

答案 0 :(得分:2)

您还可以在JLabel文本中使用HTML格式。您需要做的就是使用< html>来环绕文本。和< / html&gt ;,用< font>设置字体大小元素,并用< 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

答案 1 :(得分:1)

我同意@Josh M,你应该尝试将JTextArea(http://docs.oracle.com/javase/7/docs/api/javax/swing/JTextArea.html)与JScrollPane一起使用。或者,如果您不希望用户进行过多的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/)之类的基本内容手动设置文本格式。

答案 2 :(得分:0)

您可以为JtextField提供列数 像这样:

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

40是列索引,这意味着文本现在有更多列用于显示默认数据。 而以其他方式,你应该使用 JTextArea