Класс Desktop
public class Desktop extends Object
Desktop позволяет взаимодействовать с различными возможностями рабочего стола. Поддерживаемые операции включают в себя:
- запуск стандартного браузера для отображения указанного URI;
- запуск стандартного почтового клиента с необязательным
mailtoURI; - запуск зарегистрированного приложения для открытия, редактирования или печати указанного файла.
Этот класс предоставляет методы, соответствующие этим операциям. Методы ищут связанное приложение, зарегистрированное в текущей платформе, и запускают его для обработки 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 |
Запускает окно составления письма стандартного почтового клиента, заполняя поля сообщения, указанные в
mailto: URI. |
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 |
Устанавливает стандартную стратегию завершения работы этого приложения. |
Подробное описание методов
getDesktop
public static Desktop getDesktop()
Desktop текущего контекста рабочего стола. На некоторых платформах API рабочего стола может быть не поддерживается; используйте метод 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: URI может указывать поля сообщения, включая "to", "cc", "subject", "body" и т. д. См. The mailto URL scheme (RFC 2368) для подробностей спецификации mailto: URI.
- Параметры:
-
mailtoURI- указанныйmailto:URI - Исключение:
-
NullPointerException- если указанный URI являетсяnull -
IllegalArgumentException- если схема URI не является"mailto" -
UnsupportedOperationException- если текущая платформа не поддерживает действиеDesktop.Action.MAIL -
IOException- если стандартный почтовый клиент пользователя не найден или не удалось запустить - Внешние спецификации
- См. также:
addAppEventListener
public void addAppEventListener(SystemEventListener listener)
SystemEventListener для прослушивания уведомлений из системного ядра. Не оказывает никакого эффекта, если подтип SystemEventListener не поддерживается на текущей платформе.- Параметры:
-
listener- слушатель - С тех пор:
- 9
- См. также:
removeAppEventListener
public void removeAppEventListener(SystemEventListener listener)
SystemEventListener для прослушивания уведомлений из системного ядра. Не оказывает никакого эффекта, если подтип SystemEventListener не поддерживается на текущей платформе.- Параметры:
-
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 является приложением в пакете, с массивом
CFBundleDocumentTypesв егоInfo.plist. См. документацию Apple Developer для получения дополнительной информации оInfo.plist. - Параметры:
-
openFileHandler- обработчик - Исключения:
-
UnsupportedOperationException- если текущая платформа не поддерживает действиеDesktop.Action.APP_OPEN_FILE - С:
- 9
setPrintFileHandler
public void setPrintFileHandler(PrintFilesHandler printFileHandler)
- Примечание по реализации:
- Обратите внимание, что для macOS уведомления отправляются только если приложение Java является приложением в пакете, с массивом
CFBundleDocumentTypesв егоInfo.plist. См. документацию Apple Developer для получения дополнительной информации оInfo.plist. - Параметры:
-
printFileHandler- обработчик - Исключения:
-
UnsupportedOperationException- если текущая платформа не поддерживает действиеDesktop.Action.APP_PRINT_FILE - С:
- 9
setOpenURIHandler
public void setOpenURIHandler(OpenURIHandler openURIHandler)
null приводит к тому, что все запросы OpenURIHandler.openURI(OpenURIEvent) помещаются в очередь, пока не будет установлен другой обработчик.- Примечание по реализации:
- Обратите внимание, что для macOS уведомления отправляются только если приложение Java является приложением в пакете, с массивом
CFBundleDocumentTypesв егоInfo.plist. См. документацию Apple Developer для получения дополнительной информации оInfo.plist. - Параметры:
-
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.
https://download.java.net/java/early_access/jdk24/docs/api/java.desktop/java/awt/Desktop.html