Наблюдаемая ошибка

1

Что означает ошибка "Метод setChanged() из типа Observable не отображается" означает? Я попробовал посмотреть в документации, и я не нашел ничего, чтобы установить видимый объект на видимый. Вот мой код:

       Observable observable = new Observable();
       //adding a listener to a button 
       @Override
        public void actionPerformed(ActionEvent e) {

            observable.setChanged();
            observable.notifyObservers(Main.this);

        }
    });
Теги:
swing
listener
observable

1 ответ

4
Лучший ответ

Как определено в API, метод setChanged защищен и поэтому доступен только классу/подклассам:

protected void setChanged()

Если вы хотите уведомить наблюдателей об изменении, вызовите notifyObservers.

  • 0
    Спасибо, я где-то читал, что notifyObservers () ничего не будет делать без использования setChanged в первую очередь? И, очевидно, поскольку я не могу уменьшить видимость метода, унаследованного от класса ActionListener, я тоже мало что могу с этим поделать.
  • 0
    @ user3281466 Так как он protected , он не предназначен для вызова за пределами остальной части Java API (я полагаю, что в этом пакете и подпакетах; не совсем уверен, что защищено означает против по умолчанию).
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню