Класс Desktop
public class Desktop extends Object
Desktop позволяет взаимодействовать с различными возможностями рабочего стола. Поддерживаемые операции включают:
- запуск браузера, используемого по умолчанию, для отображения указанного URI;
- запуск почтового клиента, используемого по умолчанию, с необязательным URI
mailto; - запуск зарегистрированного приложения для открытия, редактирования или печати указанного файла.
Этот класс предоставляет методы, соответствующие этим операциям. Методы находят приложение, связанное с URI или файлом и зарегистрированное на текущей платформе, и запускают его для обработки URI или файла. Если связанного приложения нет или его не удалось запустить, возникает исключение. Полный список поддерживаемых операций и возможностей см. в Desktop.Action.
Приложение регистрируется для URI или типа файла. Механизм регистрации, доступа и запуска связанного приложения зависит от платформы.
Каждая операция является типом действия, представленным классом Desktop.Action.
Примечание: когда вызывается какое-либо действие и запускается связанное приложение, оно будет выполнено в той же системе, в которой было запущено Java-приложение.
- Начиная с:
- 1.6
- См. также:
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
static enum |
Desktop.Action |
Представляет тип действия. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addAppEventListener |
Добавляет подтипы SystemEventListener для прослушивания уведомлений от встроенной системы. |
void |
browse |
Запускает браузер, используемый по умолчанию, для отображения URI. |
void |
browseFileDirectory |
Открывает папку, содержащую file, и выделяет его в системном файловом менеджере, используемом по умолчанию. |
void |
disableSuddenTermination() |
Предотвращает внезапное завершение работы этого приложения. |
void |
edit |
Запускает связанное приложение-редактор и открывает файл для редактирования. |
void |
enableSuddenTermination() |
Разрешает внезапное завершение работы этого приложения. |
static Desktop |
getDesktop() |
Возвращает экземпляр Desktop текущего контекста рабочего стола. |
static boolean |
isDesktopSupported() |
Проверяет, поддерживается ли этот класс на текущей платформе. |
boolean |
isSupported |
Проверяет, поддерживается ли действие на текущей платформе. |
void |
mail() |
Запускает окно создания письма почтового клиента, используемого пользователем по умолчанию. |
void |
mail |
Запускает окно создания письма почтового клиента, используемого пользователем по умолчанию, заполняя поля сообщения, указанные в URI
mailto:. |
boolean |
moveToTrash |
Перемещает указанный файл в корзину. |
void |
open |
Запускает связанное приложение для открытия файла. |
void |
openHelpViewer() |
Открывает встроенное приложение для просмотра справки. |
void |
print |
Печатает файл с помощью встроенных средств печати рабочего стола, используя команду печати связанного приложения. |
void |
removeAppEventListener |
Удаляет подтипы SystemEventListener, используемые для прослушивания уведомлений от встроенной системы. |
void |
requestForeground |
Запрашивает перевод этого приложения на передний план. |
void |
setAboutHandler |
Устанавливает обработчик для отображения пользовательского окна «О программе» для вашего приложения. |
void |
setDefaultMenuBar |
Задает строку меню, используемую по умолчанию, когда нет активных фреймов. |
void |
setOpenFileHandler |
Устанавливает обработчик, получающий уведомление, когда приложению предлагается открыть список файлов. |
void |
setOpenURIHandler |
Устанавливает обработчик, получающий уведомление, когда приложению предлагается открыть URL. |
void |
setPreferencesHandler |
Устанавливает обработчик для отображения пользовательского окна настроек для вашего приложения. |
void |
setPrintFileHandler |
Устанавливает обработчик, получающий уведомление, когда приложению предлагается напечатать список файлов. |
void |
setQuitHandler |
Устанавливает обработчик, определяющий, следует ли завершить работу приложения. |
void |
setQuitStrategy |
Задает стратегию завершения работы этого приложения по умолчанию. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли этот объект другому объекту. |
protected void |
finalize() |
Устарело, планируется удаление: этот элемент API может быть удален в будущей версии. Финализация устарела и может быть удалена в одном из следующих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает значение хеш-кода для этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Приостанавливает текущий поток до его пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Приостанавливает текущий поток до его пробуждения, обычно в результате вызова notify или interrupt, либо до истечения определенного времени. |
final void |
wait |
Приостанавливает текущий поток до его пробуждения, обычно в результате вызова notify или interrupt, либо до истечения определенного времени. |
Подробное описание методов
getDesktop
public static Desktop getDesktop()
Desktop текущего контекста рабочего стола. На некоторых платформах API Desktop может не поддерживаться; используйте метод isDesktopSupported(), чтобы определить, поддерживается ли текущий рабочий стол.- Возвращает:
- экземпляр Desktop
- Выбрасывает:
-
HeadlessException— еслиGraphicsEnvironment.isHeadless()возвращаетtrue -
UnsupportedOperationException— если этот класс не поддерживается на текущей платформе - См. также:
isDesktopSupported
public static boolean isDesktopSupported()
getDesktop(), чтобы получить экземпляр.- Возвращает:
-
true, если этот класс поддерживается на текущей платформе; в противном случае —false - См. также:
isSupported
public boolean isSupported(Desktop.Action action)
Даже если платформа поддерживает действие, для файла или URI может не быть зарегистрировано приложения, выполняющего это действие. Например, большинство платформ поддерживают действие Desktop.Action.OPEN. Но для определённого файла может не быть зарегистрировано приложения, которое могло бы его открыть. В этом случае метод isSupported(Action) может вернуть true, однако соответствующий метод действия выбросит IOException.
- Параметры:
-
action— указанноеDesktop.Action - Возвращает:
-
true, если указанное действие поддерживается на текущей платформе; в противном случае —false - См. также:
open
public void open(File file) throws IOException
Если указанный файл является каталогом, для его открытия запускается файловый менеджер текущей платформы.
- Параметры:
-
file— файл, который нужно открыть с помощью связанного приложения - Выбрасывает:
-
NullPointerException— еслиfileимеет значениеnull -
IllegalArgumentException— если указанный файл не существует -
UnsupportedOperationException— если текущая платформа не поддерживает действиеDesktop.Action.OPEN -
IOException— если для указанного файла не связано приложение или не удалось запустить связанное приложение
edit
public void edit(File file) throws IOException
- Параметры:
-
file— файл, который нужно открыть для редактирования - Выбрасывает:
-
NullPointerException— если указанный файл являетсяnull -
IllegalArgumentException— если указанный файл не существует -
UnsupportedOperationException— если текущая платформа не поддерживает действиеDesktop.Action.EDIT -
IOException— если для указанного файла не связан редактор или не удалось запустить связанное приложение
public void print(File file) throws IOException
- Параметры:
-
file— файл, который нужно напечатать - Выбрасывает:
-
NullPointerException— если указанный файл являетсяnull -
IllegalArgumentException— если указанный файл не существует -
UnsupportedOperationException— если текущая платформа не поддерживает действиеDesktop.Action.PRINT -
IOException— если для указанного файла не связано приложение, которое можно использовать для печати
browse
public void browse(URI uri) throws IOException
URI. Если браузер по умолчанию не может обработать указанный URI, вызывается приложение, зарегистрированное для обработки URIs указанного типа. Приложение определяется по протоколу и пути URI, как описано в классе URI.- Параметры:
-
uri— URI, который нужно отобразить в браузере пользователя по умолчанию - Выбрасывает:
-
NullPointerException— еслиuriимеет значениеnull -
UnsupportedOperationException— если текущая платформа не поддерживает действиеDesktop.Action.BROWSE -
IOException— если браузер пользователя по умолчанию не найден, не удалось его запустить или не удалось запустить приложение — обработчик по умолчанию - См. также:
public void mail() throws IOException
- Выбрасывает:
-
UnsupportedOperationException— если текущая платформа не поддерживает действиеDesktop.Action.MAIL -
IOException— если почтовый клиент пользователя по умолчанию не найден или не удалось его запустить
public void mail(URI mailtoURI) throws IOException
mailto:. URI mailto: может задавать поля сообщения, включая "to", "cc", "subject", "body" и другие. Подробное описание спецификации URI mailto: см. в документе Схема URL mailto (RFC 2368).
- Параметры:
-
mailtoURI— указанный URImailto: - Выбрасывает:
-
NullPointerException— если указанный URI являетсяnull -
IllegalArgumentException— если схема URI не является"mailto" -
UnsupportedOperationException— если текущая платформа не поддерживает действиеDesktop.Action.MAIL -
IOException— если почтовый клиент пользователя по умолчанию не найден или не удалось его запустить - Внешние спецификации
- См. также:
addAppEventListener
public void addAppEventListener(SystemEventListener listener)
SystemEventListener для прослушивания уведомлений от собственной системы. Не оказывает действия, если подтип SystemEventListener не поддерживается на текущей платформе.- Параметры:
-
listener— listener - Начиная с версии:
- 9
- См. также:
removeAppEventListener
public void removeAppEventListener(SystemEventListener listener)
SystemEventListener для прослушивания уведомлений от собственной системы. Не оказывает действия, если подтип SystemEventListener не поддерживается на текущей платформе.- Параметры:
-
listener— listener - Начиная с версии:
- 9
- См. также:
setAboutHandler
public void setAboutHandler(AboutHandler aboutHandler)
Если установить для AboutHandler значение null, восстановится поведение по умолчанию.
- Параметры:
-
aboutHandler— обработчик для ответа на сообщениеAboutHandler.handleAbout(AboutEvent) - Выбрасывает:
-
UnsupportedOperationException— если текущая платформа не поддерживает действиеDesktop.Action.APP_ABOUT - Начиная с версии:
- 9
setPreferencesHandler
public void setPreferencesHandler(PreferencesHandler preferencesHandler)
Если установить для PreferencesHandler значение null, восстановится поведение по умолчанию.
- Параметры:
-
preferencesHandler— обработчик для ответа на событиеPreferencesHandler.handlePreferences(PreferencesEvent) - Выбрасывает:
-
UnsupportedOperationException— если текущая платформа не поддерживает действиеDesktop.Action.APP_PREFERENCES - Начиная с версии:
- 9
setOpenFileHandler
public void setOpenFileHandler(OpenFilesHandler openFileHandler)
- Примечание по реализации:
- Обратите внимание, что в macOS уведомления отправляются только в том случае, если Java-приложение является приложением в составе пакета и в его
Info.plistприсутствует массивCFBundleDocumentTypes. Дополнительную информацию оInfo.plistсм. в документации разработчика Apple. - Параметры:
-
openFileHandler— обработчик - Выбрасывает:
-
UnsupportedOperationException— если текущая платформа не поддерживает действиеDesktop.Action.APP_OPEN_FILE - Начиная с версии:
- 9
setPrintFileHandler
public void setPrintFileHandler(PrintFilesHandler printFileHandler)
- Примечание по реализации:
- Обратите внимание, что в macOS уведомления отправляются только в том случае, если Java-приложение является приложением в составе пакета и в его
Info.plistприсутствует массивCFBundleDocumentTypes. Дополнительную информацию оInfo.plistсм. в документации разработчика Apple. - Параметры:
-
printFileHandler— обработчик - Выбрасывает:
-
UnsupportedOperationException— если текущая платформа не поддерживает действиеDesktop.Action.APP_PRINT_FILE - Начиная с версии:
- 9
setOpenURIHandler
public void setOpenURIHandler(OpenURIHandler openURIHandler)
null, все запросы OpenURIHandler.openURI(OpenURIEvent) будут поставлены в очередь до установки другого обработчика.- Примечание по реализации:
- Обратите внимание, что в macOS уведомления отправляются только в том случае, если Java-приложение является приложением в составе пакета и в его
Info.plistприсутствует массивCFBundleURLTypes. Дополнительную информацию оInfo.plistсм. в документации разработчика Apple. - Параметры:
-
openURIHandler— обработчик - Выбрасывает:
-
UnsupportedOperationException— если текущая платформа не поддерживает действиеDesktop.Action.APP_OPEN_URI - Начиная с версии:
- 9
setQuitHandler
public void setQuitHandler(QuitHandler quitHandler)
QuitResponse, с помощью которого можно отменить завершение или продолжить его. Если установить для обработчика значение null, все запросы на завершение будут напрямую выполнять действие по умолчанию QuitStrategy.- Параметры:
-
quitHandler— обработчик, вызываемый при запросе на завершение приложения - Выбрасывает:
-
UnsupportedOperationException— если текущая платформа не поддерживает действиеDesktop.Action.APP_QUIT_HANDLER - Начиная с версии:
- 9
setQuitStrategy
public void setQuitStrategy(QuitStrategy strategy)
- Параметры:
-
strategy— способ завершения работы этого приложения - Начиная с версии:
- 9
- См. также:
enableSuddenTermination
public void enableSuddenTermination()
- Выбрасывает:
-
UnsupportedOperationException— если текущая платформа не поддерживает действиеDesktop.Action.APP_SUDDEN_TERMINATION - Начиная с версии:
- 9
- См. также:
disableSuddenTermination
public void disableSuddenTermination()
- Выбрасывает:
-
UnsupportedOperationException— если текущая платформа не поддерживает действиеDesktop.Action.APP_SUDDEN_TERMINATION - Начиная с версии:
- 9
- См. также:
requestForeground
public void requestForeground(boolean allWindows)
- Параметры:
-
allWindows— следует ли переместить на передний план все окна этого приложения или только самое переднее - Выбрасывает:
-
UnsupportedOperationException— если текущая платформа не поддерживает действиеDesktop.Action.APP_REQUEST_FOREGROUND - Начиная с версии:
- 9
openHelpViewer
public void openHelpViewer()
- Примечание по реализации:
- Обратите внимание, что в Mac OS встроенное приложение просмотра справки открывается, если в пакет приложения добавлена книга справки и зарегистрирована в Info.plist с помощью CFBundleHelpBookFolder
- Выбрасывает:
-
UnsupportedOperationException— если текущая платформа не поддерживает действиеDesktop.Action.APP_HELP_VIEWER - Начиная с версии:
- 9
setDefaultMenuBar
public void setDefaultMenuBar(JMenuBar menuBar)
- Параметры:
-
menuBar— строка меню, используемая при отсутствии других активных окон - Выбрасывает:
-
UnsupportedOperationException— если текущая платформа не поддерживает действиеDesktop.Action.APP_MENU_BAR - Начиная с версии:
- 9
browseFileDirectory
public void browseFileDirectory(File file)
file, и выделяет его в системном файловом менеджере по умолчанию.- Параметры:
-
file— файл - Выбрасывает:
-
UnsupportedOperationException— если текущая платформа не поддерживает действиеDesktop.Action.BROWSE_FILE_DIR -
NullPointerException— еслиfileимеет значениеnull -
IllegalArgumentException— если указанный файл или его родительский каталог не существует - Начиная с версии:
- 9
moveToTrash
public boolean moveToTrash(File file)
- Параметры:
-
file— файл - Возвращает:
- возвращает true, если файл успешно перемещён в корзину.
- Выбрасывает:
-
UnsupportedOperationException— если текущая платформа не поддерживает действиеDesktop.Action.MOVE_TO_TRASH -
NullPointerException— еслиfileимеет значениеnull -
IllegalArgumentException— если указанный файл не существует - Начиная с версии:
- 9
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.