Spec-Zone.ru › OpenJDK 25

Класс Desktop

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

Поддерживаемые операции:

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

Этот класс предоставляет методы для выполнения этих операций. Методы ищут приложение, связанное с соответствующей операцией и зарегистрированное на текущей платформе, и запускают его для обработки 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

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

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 — слушатель
С момента выпуска:
9
См. также:
  • AppForegroundListener
  • AppHiddenListener
  • AppReopenedListener
  • ScreenSleepListener
  • SystemSleepListener
  • UserSessionListener

removeAppEventListener

public void removeAppEventListener(SystemEventListener listener)
Удаляет подтипы SystemEventListener для прослушивания уведомлений от нативной системы. Ничего не делает, если подтип SystemEventListener не поддерживается на текущей платформе.
Параметры:
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 присутствует массив 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)
Задает стратегию завершения работы приложения по умолчанию. По умолчанию вызывается 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, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/java/awt/Desktop.html

Spec-Zone.ru

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