Spec-Zone.ru › OpenJDK 27

Класс Desktop

java.lang.Object
java.awt.Desktop
public class Desktop extends Object
Класс Desktop позволяет взаимодействовать с различными возможностями рабочего стола.

Поддерживаемые операции включают:

  • запуск браузера, используемого по умолчанию, для отображения указанного URI;
  • запуск почтового клиента, используемого по умолчанию, с необязательным URI mailto;
  • запуск зарегистрированного приложения для открытия, редактирования или печати указанного файла.

Этот класс предоставляет методы, соответствующие этим операциям. Методы находят приложение, связанное с URI или файлом и зарегистрированное на текущей платформе, и запускают его для обработки URI или файла. Если связанного приложения нет или его не удалось запустить, возникает исключение. Полный список поддерживаемых операций и возможностей см. в Desktop.Action.

Приложение регистрируется для URI или типа файла. Механизм регистрации, доступа и запуска связанного приложения зависит от платформы.

Каждая операция является типом действия, представленным классом Desktop.Action.

Примечание: когда вызывается какое-либо действие и запускается связанное приложение, оно будет выполнено в той же системе, в которой было запущено Java-приложение.

Начиная с:
1.6
См. также:
  • Desktop.Action

Краткое описание вложенных классов

Модификатор и тип Класс Описание
static enum  Desktop.Action
Представляет тип действия.

Краткое описание методов

Модификатор и тип Метод Описание
void addAppEventListener(SystemEventListener listener)
Добавляет подтипы SystemEventListener для прослушивания уведомлений от встроенной системы.
void browse(URI uri)
Запускает браузер, используемый по умолчанию, для отображения URI.
void browseFileDirectory(File file)
Открывает папку, содержащую file, и выделяет его в системном файловом менеджере, используемом по умолчанию.
void disableSuddenTermination()
Предотвращает внезапное завершение работы этого приложения.
void edit(File file)
Запускает связанное приложение-редактор и открывает файл для редактирования.
void enableSuddenTermination()
Разрешает внезапное завершение работы этого приложения.
static Desktop getDesktop()
Возвращает экземпляр Desktop текущего контекста рабочего стола.
static boolean isDesktopSupported()
Проверяет, поддерживается ли этот класс на текущей платформе.
boolean isSupported(Desktop.Action action)
Проверяет, поддерживается ли действие на текущей платформе.
void mail()
Запускает окно создания письма почтового клиента, используемого пользователем по умолчанию.
void mail(URI mailtoURI)
Запускает окно создания письма почтового клиента, используемого пользователем по умолчанию, заполняя поля сообщения, указанные в URI mailto:.
boolean moveToTrash(File file)
Перемещает указанный файл в корзину.
void open(File file)
Запускает связанное приложение для открытия файла.
void openHelpViewer()
Открывает встроенное приложение для просмотра справки.
void print(File file)
Печатает файл с помощью встроенных средств печати рабочего стола, используя команду печати связанного приложения.
void removeAppEventListener(SystemEventListener listener)
Удаляет подтипы SystemEventListener, используемые для прослушивания уведомлений от встроенной системы.
void requestForeground(boolean allWindows)
Запрашивает перевод этого приложения на передний план.
void setAboutHandler(AboutHandler aboutHandler)
Устанавливает обработчик для отображения пользовательского окна «О программе» для вашего приложения.
void setDefaultMenuBar(JMenuBar menuBar)
Задает строку меню, используемую по умолчанию, когда нет активных фреймов.
void setOpenFileHandler(OpenFilesHandler openFileHandler)
Устанавливает обработчик, получающий уведомление, когда приложению предлагается открыть список файлов.
void setOpenURIHandler(OpenURIHandler openURIHandler)
Устанавливает обработчик, получающий уведомление, когда приложению предлагается открыть URL.
void setPreferencesHandler(PreferencesHandler preferencesHandler)
Устанавливает обработчик для отображения пользовательского окна настроек для вашего приложения.
void setPrintFileHandler(PrintFilesHandler printFileHandler)
Устанавливает обработчик, получающий уведомление, когда приложению предлагается напечатать список файлов.
void setQuitHandler(QuitHandler quitHandler)
Устанавливает обработчик, определяющий, следует ли завершить работу приложения.
void setQuitStrategy(QuitStrategy strategy)
Задает стратегию завершения работы этого приложения по умолчанию.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли этот объект другому объекту.
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(long timeoutMillis)
Приостанавливает текущий поток до его пробуждения, обычно в результате вызова notify или interrupt, либо до истечения определенного времени.
final void wait(long timeoutMillis, int nanos)
Приостанавливает текущий поток до его пробуждения, обычно в результате вызова notify или interrupt, либо до истечения определенного времени.

Подробное описание методов

getDesktop

public static Desktop getDesktop()
Возвращает экземпляр Desktop текущего контекста рабочего стола. На некоторых платформах API Desktop может не поддерживаться; используйте метод isDesktopSupported(), чтобы определить, поддерживается ли текущий рабочий стол.
Возвращает:
экземпляр Desktop
Выбрасывает:
HeadlessException — если GraphicsEnvironment.isHeadless() возвращает true
UnsupportedOperationException — если этот класс не поддерживается на текущей платформе
См. также:
  • isDesktopSupported()
  • GraphicsEnvironment.isHeadless()

isDesktopSupported

public static boolean isDesktopSupported()
Проверяет, поддерживается ли этот класс на текущей платформе. Если он поддерживается, используйте getDesktop(), чтобы получить экземпляр.
Возвращает:
true, если этот класс поддерживается на текущей платформе; в противном случае — false
См. также:
  • getDesktop()

isSupported

public boolean isSupported(Desktop.Action action)
Проверяет, поддерживается ли действие на текущей платформе.

Даже если платформа поддерживает действие, для файла или URI может не быть зарегистрировано приложения, выполняющего это действие. Например, большинство платформ поддерживают действие Desktop.Action.OPEN. Но для определённого файла может не быть зарегистрировано приложения, которое могло бы его открыть. В этом случае метод isSupported(Action) может вернуть true, однако соответствующий метод действия выбросит IOException.

Параметры:
action — указанное Desktop.Action
Возвращает:
true, если указанное действие поддерживается на текущей платформе; в противном случае — false
См. также:
  • Desktop.Action

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 — если для указанного файла не связан редактор или не удалось запустить связанное приложение

print

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 — если браузер пользователя по умолчанию не найден, не удалось его запустить или не удалось запустить приложение — обработчик по умолчанию
См. также:
  • URI

mail

public void mail() throws IOException
Запускает окно создания письма в почтовом клиенте пользователя по умолчанию.
Выбрасывает:
UnsupportedOperationException — если текущая платформа не поддерживает действие Desktop.Action.MAIL
IOException — если почтовый клиент пользователя по умолчанию не найден или не удалось его запустить

mail

public void mail(URI mailtoURI) throws IOException
Запускает окно создания письма в почтовом клиенте пользователя по умолчанию и заполняет поля сообщения, указанные в URI mailto:.

URI mailto: может задавать поля сообщения, включая "to", "cc", "subject", "body" и другие. Подробное описание спецификации URI mailto: см. в документе Схема URL mailto (RFC 2368).

Параметры:
mailtoURI — указанный URI mailto:
Выбрасывает:
NullPointerException — если указанный URI является null
IllegalArgumentException — если схема URI не является "mailto"
UnsupportedOperationException — если текущая платформа не поддерживает действие Desktop.Action.MAIL
IOException — если почтовый клиент пользователя по умолчанию не найден или не удалось его запустить
Внешние спецификации
  • RFC 2368: схема URL mailto
См. также:
  • URI

addAppEventListener

public void addAppEventListener(SystemEventListener listener)
Добавляет подтипы SystemEventListener для прослушивания уведомлений от собственной системы. Не оказывает действия, если подтип SystemEventListener не поддерживается на текущей платформе.
Параметры:
listener — listener
Начиная с версии:
9
См. также:
  • AppForegroundListener
  • AppHiddenListener
  • AppReopenedListener
  • ScreenSleepListener
  • SystemSleepListener
  • UserSessionListener

removeAppEventListener

public void removeAppEventListener(SystemEventListener listener)
Удаляет подтипы SystemEventListener для прослушивания уведомлений от собственной системы. Не оказывает действия, если подтип SystemEventListener не поддерживается на текущей платформе.
Параметры:
listener — listener
Начиная с версии:
9
См. также:
  • AppForegroundListener
  • AppHiddenListener
  • AppReopenedListener
  • ScreenSleepListener
  • SystemSleepListener
  • UserSessionListener

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)
Устанавливает обработчик, который получает уведомление, когда приложению передают запрос на открытие URL. Если установить для обработчика значение 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)
Задаёт стратегию по умолчанию для завершения этого приложения. По умолчанию вызывается SYSTEM_EXIT_0.
Параметры:
strategy — способ завершения работы этого приложения
Начиная с версии:
9
См. также:
  • QuitStrategy

enableSuddenTermination

public void enableSuddenTermination()
Разрешает немедленное завершение этого приложения. Вызовите этот метод, чтобы указать, что состояние приложения сохранено и для его завершения не требуется уведомление. Если приложение можно завершить без уведомления, работа с ним становится удобнее: при запросе на завершение его не придётся повторно загружать в память. Примечание: разрешение немедленного завершения позволяет закрыть приложение без уведомления вашего QuitHandler и без выполнения каких-либо обработчиков завершения работы. Например, пользовательские запросы Cmd-Q, выхода из системы, перезапуска или выключения фактически приведут к выполнению команды «kill -KILL» для вашего приложения.
Выбрасывает:
UnsupportedOperationException — если текущая платформа не поддерживает действие Desktop.Action.APP_SUDDEN_TERMINATION
Начиная с версии:
9
См. также:
  • disableSuddenTermination()

disableSuddenTermination

public void disableSuddenTermination()
Запрещает немедленное завершение этого приложения. Вызовите этот метод, чтобы указать, что в приложении есть несохранённые данные и его нельзя завершать без уведомления.
Выбрасывает:
UnsupportedOperationException — если текущая платформа не поддерживает действие Desktop.Action.APP_SUDDEN_TERMINATION
Начиная с версии:
9
См. также:
  • enableSuddenTermination()

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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе документации Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API