2013-03-14 51 views
-8

我有一个方法将名称和它们的分数保存到文本文件中。现在我做了一个'高分'的按钮,调用一个从高分中读取文本文件的方法。现在这个输出非常难看,所以我想把名字放在一个文本区域中,并将分数放到另一个文本区域中,这样它们就会被均匀分开。Java:将字符串拆分并将它们放到文本区域的

我该怎么做?

预先感谢

我的电流输出:Current output

+0

为什么'JTextArea'?我认为使用'JLabel's与适当的布局管理器结合可以得到你想要的东西(例如,使用'BoxLayout'嵌套组件的'FlowLayout')。另外,请包括[sscce](http://sscce.org)。 – mre 2013-03-14 15:12:53

+0

很难说出你实际要求的是什么。请尝试将问题归结为本质,然后再询问。 – kritzikratzi 2013-03-14 15:15:38

回答

0

假设该文件的格式是这样的:

NAME; SCORE \ n
中文别名; 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"); 
} 

我希望它有帮助!

1

这听起来像你真正想要的是一种处理你的名字和分数对齐的方法。您可以使用Java的支持format strings自动垫场,并给它一个最大宽度,从而使各项你的分数在同一列:

String.format("%-20.20s %s", "Name", "Score") 

这将垫每个名称,使其20个字符如果超过20个字符,则也会截断该名称,以免它溢出到分数区域。您可以将上面的20更改为您认为合理的宽度。

相关问题