Итак, у меня есть два класса, один - Observer
, а другой - Observable
.У наблюдаемой есть char variable
, который изменяется, и когда он меняется, вызывается событие ChangeTurnListener
с его методом onChangeTurn()
и передачей этой переменной в качестве аргумента.
Все отлично работает,переменная char присутствует в наблюдателе, но JLabel, похоже, не обновляет текст.Я пытался использовать repaint()
, не повезло.Также попытался использовать paintImmediately()
на JLabel, и он появляется на короткую секунду, а затем отключается.
Я просто пытаюсь сделать следующее:
@Override
public void onChangeTurn(String whoseMove) {
System.out.println("OnChangeTurn ran");
System.out.println("WhoseMove passed through onChangeTurn: " + whoseMove);
jlTurn.setText("It's your turn " + whoseMove);
}
У меня естьЯ понял, что это проблема с JLabel, поэтому я попытался использовать firePropertyChanged(...)
на JLabel, но все равно не повезло.
Я предполагаю, что это, возможно, связано с параллелизмом в Java Swing.
Это работает, если я просто устанавливаю текст в произвольный текст, но не в том случае, если я предоставляю ему аргумент whoMove.
Заранее спасибо.