Java:拆分字符串并将它们放入文本区域的
Posted
技术标签:
【中文标题】Java:拆分字符串并将它们放入文本区域的【英文标题】:Java: Split strings and put them into text area's 【发布时间】:2013-03-03 00:34:16 【问题描述】:我有一种方法可以将名称及其分数保存到文本文件中。现在我做了一个“高分”按钮,调用一个从高分文本文件中读取的方法。现在这个输出很丑,所以我想把名字放在一个文本区域,把分数放在另一个文本区域,这样它们就被均匀地分开了。
我该怎么做?
提前致谢
我目前的输出:
【问题讨论】:
为什么是JTextArea
?我认为将JLabel
s 与适当的布局管理器结合使用可以得到你想要的(例如FlowLayout
和使用BoxLayout
的嵌套组件)。另外,请附上sscce。
很难说出您实际在问什么。请尝试将您的问题归结为本质,然后再提问。
【参考方案1】:
假设文件的格式是这样的:
姓名;得分\n OTHERNAME;OTHERSCORE\n ...
你可以这样做:
BufferedReader br = new BufferedReader(...); // Initialize a buffered reader reading from that text file.
String line;
while ((line = br.readLine() != null)
String name = line.split(";")[0];
String score = line.split(";")[1];
namesTextArea.append(name + "\n");
scoresTextArea.append(score + "\n");
希望对你有帮助!
【讨论】:
【参考方案2】:听起来您真正想要的是一种处理姓名和分数对齐的方法。您可以使用 Java 对 format strings 的支持来自动填充 name 字段并为其指定最大宽度,从而将所有分数对齐在同一列中:
String.format("%-20.20s %s", "Name", "Score")
这将填充每个名称以使其宽度为 20 个字符,如果名称超过 20 个字符,也会截断该名称,使其不会溢出到乐谱区域。您可以将上面的20
更改为您认为合理的任何宽度。
【讨论】:
以上是关于Java:拆分字符串并将它们放入文本区域的的主要内容,如果未能解决你的问题,请参考以下文章