GTK + значок уведомления запуска

я сказал да

Не по умолчанию. Помимо реализации java.io.Serializable вам необходимо переопределить методы readObject() и writeObject() strike> readResolve(), поскольку вы не можете сериализовать статические поля. Синглтон хранит свой экземпляр в статическом поле.

, но в каком сценарии мы должны сериализовать синглтон.

На самом деле ни один полезный сценарий реального мира не приходит в голову. Синглтон, как правило, не меняет состояния в течение своего времени жизни и не содержит состояния , которое вы хотели бы сохранить / восстановить. Если это так, то было уже неправильно считать его синглтоном.

Два реальных примера синглтон-паттерна в Java SE API - это java.lang.Runtime#getRuntime() и java.awt.Desktop#getDesktop() . Ни один из них не реализует сериализуемый. Это также не имеет никакого смысла , потому что они правильно возвращают правильный / желаемый / ожидаемый экземпляр при каждом вызове. Если вы сериализуете и десериализуетесь, вы можете получить несколько экземпляров. Если вы переключитесь из среды в это время, экземпляр может вообще не работать.

И можно ли разработать класс, объект которого нельзя сериализовать.

Да. Только не позволяйте классу реализовывать интерфейс java.io.Serializable .

7
задан Jibran 5 November 2009 в 12:39
поделиться

3 ответа

Обычно это происходит автоматически, когда вы открываете окно приложения.

Возможно, программа запуска приложения просто вызывает уже запущенный экземпляр, в этом случае он не будет автоматически обнаружен. Тогда вам понадобится следующий вызов:

import gtk
gtk.gdk.notify_startup_complete()
5
ответ дан 7 December 2019 в 05:24
поделиться

Обычно это происходит автоматически при вызове функции gtk.main ()

0
ответ дан 7 December 2019 в 05:24
поделиться

Ваше приложение может отказаться от уведомления о запуске, добавив

StartupNotify=false

в файл .desktop вашего приложения.

Конечно, удобнее оставить его включенным и участвовать в уведомлении о запуске.

2
ответ дан 7 December 2019 в 05:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: