TextField не обновляется при вызове setText ("...")? - PullRequest
0 голосов
/ 01 декабря 2011

В настоящее время я занимаюсь разработкой MineSweeper на Java. В этом я должен обновить JTextFields (как показано на рис.). Когда я вызываю setText (), Logger показывает, что он вызывается правильно.Но в выводе нет ответа.

enter image description here

Мой фактический код такой, как показано ниже ...

class GameInfoDisplayer{
          ...............
void setGameStatusText(String s){
    statusDisplayer.setStatus(s);
}
          ..............
 <....Definition of TimeController Inner class Comes here....>
    ..............
private class StatusDisplayer{
    JTextField displayField;
    Logger logger = Logger.getLogger("StatusDisplayer");
    StatusDisplayer(){
        displayField = new JTextField();
        gameInfoFieldsContainer.add(displayField);
    }
    void setStatus(String s){
            gameInfoFieldsContainer.remove(displayField);
            displayField.setText(s);        
            gameInfoFieldsContainer.add(displayField);
            gameInfoFieldsContainer.revalidate();
            gameInfoFieldsContainer.repaint();  
            logger.info("I am in updating Display content...:"+displayField.getText());
        }
    }

Я сделал все перекраски, повторная проверка, как указано в похожий вопрос но бесполезно ..

1 Ответ

1 голос
/ 02 декабря 2011

Попробуйте следующее

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());
        }
    }
}
...