繁体   English   中英

JPanel显示大量文本

[英]JPanel to display large amount of text

我正在寻找一种方法来显示我的程序的介绍。 程序的每个部分都有自己的指令,这些指令是长的serval行。 在每一行的末尾都有\\n\\n进行格式化。

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

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

您还可以在JLabel文本中使用HTML格式。 您需要做的就是用<html>和</ html>包围文本,用<font>元素设置字体大小,并用<br>替换每个\\ n。

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

请参见如何在Swing组件中使用HTML

我同意@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/ )。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM