我遇到了一个我不确定如何修复的问题。我正在处理一个字符创建者,它写入.txt文件并从同一个.txt文件中读取。我可以在第一次尝试时将.txt文件中的每一行附加到JTextArea,但是当我返回主菜单,然后返回到视图选项卡时,它会显示前两个值而不是第一个值。每次返回都会增加另一个值。有关如何修复的任何想法?如果这是一个非常愚蠢的问题,我道歉。
viewInfo.addActionListener (new ActionListener ()
{
public void actionPerformed (ActionEvent e)
{
i3 = i3 + 1;
try { BufferedReader br = new BufferedReader(new FileReader("charCreator.txt"));
while ((name1 [i3] = br.readLine()) != null) {
if (!list.contains(name1 [i3])){
list.add (name1 [i3]);
}
}
br.close ();
} catch (IOException e1) {
e1.printStackTrace();
}
String infoArray [] = list.toArray (new String [500]);
viewArea.append (infoArray [i3]);
viewArea.append ("\n");
}
}
);
我对自己的编码技巧并不完全有信心,所以总是赞赏有建设性的批评。大多数变量都是全局的
答案 0 :(得分:0)
您可能必须确保在输入方法时不要保留列表。类似的东西:
list.clear()
另一种方法是将列表声明移动到您的方法中,这样您就知道它是新的。方法结束后,看起来你不需要它。