0
我目前在java中开发MineSweeper。我必须更新JTextFields(如图所示)当我调用setText()时,Logger显示它正确调用。但是在输出中没有反应。当setText(“...”)被调用时TextField没有得到更新?
我实际的代码如下...
我做过的一切重新粉刷,重新确认为similar question给出,但有没有用..
我目前在java中开发MineSweeper。我必须更新JTextFields(如图所示)当我调用setText()时,Logger显示它正确调用。但是在输出中没有反应。当setText(“...”)被调用时TextField没有得到更新?
我实际的代码如下...
我做过的一切重新粉刷,重新确认为similar question给出,但有没有用..
请尝试以下
private class StatusDisplayer{
JTextField displayField;
Logger logger = Logger.getLogger("StatusDisplayer");
StatusDisplayer(){
displayField = new JTextField();
gameInfoFieldsContainer.add(displayField);
}
void setStatus(String s){
displayField.setText(s);
logger.info("I am in updating Display content...:"+displayField.getText());
}
}
}
为了更好地提供帮助,请发布[SSCCE](http://sscce.org/)。 –
很难用可用的信息来分辨问题。出现“奇怪”行为的许多Swing问题是因为未在事件分派线程上进行更新;确保您使用的是invokeAndWait或invokeLater。 – arcy
在调用'setStatus()'之前,你是否调用'new StatusDisplayer()'或类?在调用'new StatusDisplayer()'之前,textfield并没有实际定义,所以调用'setStatus()'首先会导致NullPointerException异常。 – fireshadow52