我正在制作一个垄断程序,在单独的JFrame中显示所有游戏信息,例如名称,银行帐户和所拥有的属性。我可以开始显示正确的信息,但没有根据要求更新。到目前为止,我已经尝试过类似代码的JPanes和JTextAreas。
JFrame infoFrame = new JFrame();
String finString;
JTextPane info = new JTextPane();
info.setBackground(Color.GRAY);
info.setEditable(true);
infoFrame.add(info);
infoFrameControl();
info.setEditable(false);
void infoFrameControl(){
finString = "Current Standings\n=================\n";
for(int i=0; i<players.size(); i++){
//this loop determines what is stored in finString
//I know this works because I've printed it in the console
}
finString += "\n";
System.out.println(finString);
info.setText(finString);
}
这个工作正常,直到我使用此代码从另一个类调用此方法
mn.info.setEditable(true);
mn.infoFrameControl();
mn.info.setEditable(false);
其中mn是包含infoFrameControl()类的类的对象。此时,它从未更新过。我也使用过info.updateUI(),但它也没有用。我做错了什么。