Класс Desktop
public class Desktop extends Object
Desktop позволяет взаимодействовать с различными возможностями рабочего стола. Поддерживаемые операции:
- запуск браузера, используемого по умолчанию, для отображения указанного URI;
- запуск почтового клиента, используемого по умолчанию, с необязательным URI
mailto; - запуск зарегистрированного приложения для открытия, редактирования или печати указанного файла.
Этот класс предоставляет методы для выполнения этих операций. Методы ищут приложение, связанное с соответствующей операцией и зарегистрированное на текущей платформе, и запускают его для обработки 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 |
Задает стратегию завершения работы приложения по умолчанию. |
Подробное описание методов
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— слушатель - С момента выпуска:
- 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 является приложением в комплекте и в его
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присутствует массивCFBundleDocumentTypes. Дополнительные сведения о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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/java/awt/Desktop.html