Spec-Zone.ru › OpenJDK 21

Класс Desktop

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

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

  • запуск пользовательского браузера для отображения указанного 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)
Запускает окно составления письма пользовательского почтового клиента по умолчанию, заполняя поля сообщения, указанные в mailto: URI.
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)
Устанавливает стратегию по умолчанию для завершения этого приложения.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

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

getDesktop

public static Desktop getDesktop()
Возвращает экземпляр Desktop контекста текущего рабочего стола. На некоторых платформах API рабочего стола может быть недоступен; используйте метод 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 - если у указанного файла нет связанного приложения или связанное приложение не удалось запустить
SecurityException - если менеджер безопасности существует и его метод SecurityManager.checkRead(java.lang.String) отклоняет доступ для чтения к файлу, или он отклоняет разрешение AWTPermission("showWindowWithoutWarningBanner"), или вызывающая нить не имеет разрешения на создание дочернего процесса
См. также:
  • AWTPermission

edit

public void edit(File file) throws IOException
Запускает связанное приложение-редактор и открывает файл для редактирования.
Параметры:
file - файл, который нужно открыть для редактирования
Исключения:
NullPointerException - если указанный файл является null
IllegalArgumentException - если указанный файл не существует
UnsupportedOperationException - если текущая платформа не поддерживает действие Desktop.Action.EDIT
IOException - если у указанного файла нет связанного редактора, или связанное приложение не удалось запустить
SecurityException - если менеджер безопасности существует и его метод SecurityManager.checkRead(java.lang.String) отклоняет доступ для чтения к файлу, или метод SecurityManager.checkWrite(java.lang.String) отклоняет доступ для записи к файлу, или он отклоняет разрешение AWTPermission("showWindowWithoutWarningBanner"), или вызывающая нить не имеет разрешения на создание дочернего процесса
См. также:
  • AWTPermission

print

public void print(File file) throws IOException
Печатает файл с помощью собственного средства печати рабочего стола, используя команду печати связанного приложения.
Параметры:
file - файл, который нужно распечатать
Исключения:
NullPointerException - если указанный файл является null
IllegalArgumentException - если указанный файл не существует
UnsupportedOperationException - если текущая платформа не поддерживает действие Desktop.Action.PRINT
IOException - если у указанного файла нет связанного приложения, которое может быть использовано для печати
SecurityException - если менеджер безопасности существует и его метод SecurityManager.checkRead(java.lang.String) отклоняет доступ для чтения к файлу, или его метод SecurityManager.checkPrintJobAccess() отклоняет разрешение на печать файла, или вызывающая нить не имеет разрешения на создание дочернего процесса

browse

public void browse(URI uri) throws IOException
Запускает браузер по умолчанию для отображения URI. Если браузер по умолчанию не может обработать указанный URI, вызывается приложение, зарегистрированное для обработки URIs указанного типа. Приложение определяется из протокола и пути URI, как определено классом URI.
Параметры:
uri - URI, который необходимо отобразить в браузере по умолчанию
Исключения:
NullPointerException - если uri является null
UnsupportedOperationException - если текущая платформа не поддерживает действие Desktop.Action.BROWSE
IOException - если браузер по умолчанию не найден, или не удалось запустить, или приложение по умолчанию не удалось запустить
SecurityException - если менеджер безопасности существует и отклоняет разрешение AWTPermission("showWindowWithoutWarningBanner"), или вызывающая нить не имеет разрешения на создание дочернего процесса
См. также:
  • URI
  • AWTPermission

mail

public void mail() throws IOException
Запускает окно создания письма почтового клиента по умолчанию.
Исключения:
UnsupportedOperationException - если текущая платформа не поддерживает действие Desktop.Action.MAIL
IOException - если почтовый клиент по умолчанию не найден или не удалось запустить
SecurityException - если менеджер безопасности существует и отклоняет разрешение AWTPermission("showWindowWithoutWarningBanner"), или вызывающая нить не имеет разрешения на создание дочернего процесса
См. также:
  • AWTPermission

mail

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

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

Параметры:
mailtoURI - указанный mailto: URI
Исключения:
NullPointerException - если указанный URI является null
IllegalArgumentException - если схема URI не "mailto"
UnsupportedOperationException - если текущая платформа не поддерживает действие Desktop.Action.MAIL
IOException - если почтовый клиент по умолчанию не найден или не удалось запустить
SecurityException - если менеджер безопасности существует и отклоняет разрешение AWTPermission("showWindowWithoutWarningBanner"), или вызывающая нить не имеет разрешения на создание дочернего процесса
См. также:
  • URI
  • AWTPermission

addAppEventListener

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

removeAppEventListener

public void removeAppEventListener(SystemEventListener listener)
Удаляет подтипы SystemEventListener, чтобы прекратить прослушивание уведомлений от системного ядра. Не оказывает никакого эффекта, если подтип SystemEventListener не поддерживается текущей платформой.
Parameters:
listener - listener
Throws:
SecurityException - если существует менеджер безопасности и он отклоняет RuntimePermission("canProcessApplicationEvents") разрешение
Since:
9
See Also:
  • AppForegroundListener
  • AppHiddenListener
  • AppReopenedListener
  • ScreenSleepListener
  • SystemSleepListener
  • UserSessionListener

setAboutHandler

public void setAboutHandler(AboutHandler aboutHandler)
Устанавливает обработчик для отображения пользовательского окна "О программе" вашего приложения.

Установка AboutHandler в null восстанавливает поведение по умолчанию.

Parameters:
aboutHandler - обработчик, реагирующий на сообщение AboutHandler.handleAbout(AboutEvent)
Throws:
SecurityException - если существует менеджер безопасности и он отклоняет RuntimePermission("canProcessApplicationEvents") разрешение
UnsupportedOperationException - если текущая платформа не поддерживает действие Desktop.Action.APP_ABOUT
Since:
9

setPreferencesHandler

public void setPreferencesHandler(PreferencesHandler preferencesHandler)
Устанавливает обработчик для отображения пользовательского окна "Настройки" вашего приложения.

Установка PreferencesHandler в null восстанавливает поведение по умолчанию

Parameters:
preferencesHandler - обработчик, реагирующий на сообщение PreferencesHandler.handlePreferences(PreferencesEvent)
Throws:
SecurityException - если существует менеджер безопасности и он отклоняет RuntimePermission("canProcessApplicationEvents") разрешение
UnsupportedOperationException - если текущая платформа не поддерживает действие Desktop.Action.APP_PREFERENCES
Since:
9

setOpenFileHandler

public void setOpenFileHandler(OpenFilesHandler openFileHandler)
Устанавливает обработчик, который уведомляется, когда приложение запрошено открыть список файлов.
Implementation Note:
Обратите внимание, что для macOS уведомления отправляются только если Java-приложение является приложением в пакете, с массивом CFBundleDocumentTypes в Info.plist. Для получения дополнительной информации об Info.plist обратитесь к документации разработчика Apple.
Parameters:
openFileHandler - handler
Throws:
SecurityException - если существует менеджер безопасности и его метод SecurityManager.checkRead(java.lang.String) отклоняет доступ для чтения к файлам, или он отклоняет RuntimePermission("canProcessApplicationEvents") разрешение, или вызывающая поток не разрешено создавать дочерний процесс
UnsupportedOperationException - если текущая платформа не поддерживает действие Desktop.Action.APP_OPEN_FILE
Since:
9

setPrintFileHandler

public void setPrintFileHandler(PrintFilesHandler printFileHandler)
Устанавливает обработчик, который уведомляется, когда приложение запрошено распечатать список файлов.
Implementation Note:
Обратите внимание, что для macOS уведомления отправляются только если Java-приложение является приложением в пакете, с массивом CFBundleDocumentTypes в Info.plist. Для получения дополнительной информации об Info.plist обратитесь к документации разработчика Apple.
Parameters:
printFileHandler - handler
Throws:
SecurityException - если существует менеджер безопасности и его метод SecurityManager.checkPrintJobAccess() отклоняет разрешение на печать или отклоняет RuntimePermission("canProcessApplicationEvents") разрешение
UnsupportedOperationException - если текущая платформа не поддерживает действие Desktop.Action.APP_PRINT_FILE
Since:
9

setOpenURIHandler

public void setOpenURIHandler(OpenURIHandler openURIHandler)
Устанавливает обработчик, который уведомляется, когда приложение запрошено открыть URL. Установка обработчика в null приводит к тому, что все запросы OpenURIHandler.openURI(OpenURIEvent) будут помещены в очередь до тех пор, пока не будет установлен другой обработчик.
Implementation Note:
Обратите внимание, что для macOS уведомления отправляются только если Java-приложение является приложением в пакете, с массивом CFBundleDocumentTypes в Info.plist. Для получения дополнительной информации об Info.plist обратитесь к документации разработчика Apple.
Parameters:
openURIHandler - handler RuntimePermission("canProcessApplicationEvents") разрешение, или вызывающий поток не разрешено создавать дочерний процесс
Throws:
UnsupportedOperationException - если текущая платформа не поддерживает действие Desktop.Action.APP_OPEN_URI
Since:
9

setQuitHandler

public void setQuitHandler(QuitHandler quitHandler)
Устанавливает обработчик, который определяет, должен ли приложение завершиться. Обработчику передаётся одноразовое значение QuitResponse, которое может отменить или продолжить завершение. Установка обработчика в null приводит к тому, что все запросы на выход будут непосредственно выполнять стандартную процедуру QuitStrategy.
Parameters:
quitHandler - обработчик, вызываемый, когда приложение запрошено завершить работу
Throws:
SecurityException - если существует менеджер безопасности и он не позволит вызывающему элементу вызвать System.exit или он отклонит RuntimePermission("canProcessApplicationEvents") разрешение
UnsupportedOperationException - если текущая платформа не поддерживает действие Desktop.Action.APP_QUIT_HANDLER
Since:
9

setQuitStrategy

public void setQuitStrategy(QuitStrategy strategy)
Устанавливает стратегию по умолчанию, используемую для завершения работы этого приложения. По умолчанию вызывается SYSTEM_EXIT_0.
Parameters:
strategy - способ завершения работы этого приложения
Throws:
SecurityException - если существует менеджер безопасности и он не позволит вызывающему элементу вызвать System.exit или он отклонит RuntimePermission("canProcessApplicationEvents") разрешение
UnsupportedOperationException - если текущая платформа не поддерживает действие Desktop.Action.APP_QUIT_STRATEGY
Since:
9
See Also:
  • QuitStrategy

enableSuddenTermination

public void enableSuddenTermination()
Включает возможность внезапного завершения работы этого приложения. Вызовите этот метод, чтобы указать, что состояние вашего приложения сохранено и не требует уведомлений при завершении. Разрешение внезапного завершения приложения улучшает пользовательский опыт, избегая повторного отображения вашего приложения, когда оно запрошено для выхода. Примечание: включение внезапного завершения позволит завершить работу вашего приложения без уведомления вашего обработчика завершения или запуска каких-либо завершающих обработчиков. Например, запросы пользователя Cmd-Q, выход из системы, перезагрузка или выключение системы фактически «убьют» ваше приложение с помощью `kill -KILL`.
Throws:
SecurityException - если существует менеджер безопасности и он не позволит вызывающему элементу вызвать System.exit или он отклонит RuntimePermission("canProcessApplicationEvents") разрешение
UnsupportedOperationException - если текущая платформа не поддерживает действие Desktop.Action.APP_SUDDEN_TERMINATION
Since:
9
See Also:
  • disableSuddenTermination()

disableSuddenTermination

public void disableSuddenTermination()
Запрещает внезапное завершение работы этого приложения. Вызовите этот метод, чтобы указать, что в приложении есть несохранённые данные, и оно не должно завершаться без уведомления.
Throws:
SecurityException - если существует менеджер безопасности и он не позволит вызывающему элементу вызвать System.exit или он отклонит RuntimePermission("canProcessApplicationEvents") разрешение
UnsupportedOperationException - если текущая платформа не поддерживает действие Desktop.Action.APP_SUDDEN_TERMINATION
Since:
9
See Also:
  • enableSuddenTermination()

requestForeground

public void requestForeground(boolean allWindows)
Запрашивает вывод этого приложения на передний план.
Parameters:
allWindows - если все окна этого приложения должны быть выведены на передний план, или только самое верхнее
Throws:
SecurityException - если существует менеджер безопасности и он отклоняет RuntimePermission("canProcessApplicationEvents") разрешение.
UnsupportedOperationException - если текущая платформа не поддерживает действие Desktop.Action.APP_REQUEST_FOREGROUND
Since:
9

ОткрытьПросмотрПомощи

public void openHelpViewer()
Открывает приложение просмотра встроенной справки.
Примечание к реализации:
Обратите внимание, что для Mac OS приложение просмотра встроенной справки открывается, если руководство по справке добавлено в пакет приложения и зарегистрировано в Info.plist с CFBundleHelpBookFolder
Исключения:
SecurityException - если существует менеджер безопасности и он запрещает доступ к RuntimePermission("canProcessApplicationEvents") разрешению, или он запрещает доступ к AWTPermission("showWindowWithoutWarningBanner") разрешению, или вызывающей нити запрещено создавать дочерний процесс
UnsupportedOperationException - если текущая платформа не поддерживает действие Desktop.Action.APP_HELP_VIEWER
С:
9

УстановитьСтандартнуюПанельМеню

public void setDefaultMenuBar(JMenuBar menuBar)
Устанавливает стандартную панель меню для использования, когда нет активных фреймов.
Параметры:
menuBar - для использования, когда другие фреймы не активны
Исключения:
SecurityException - если существует менеджер безопасности и он запрещает доступ к RuntimePermission("canProcessApplicationEvents") разрешению.
UnsupportedOperationException - если текущая платформа не поддерживает действие Desktop.Action.APP_MENU_BAR
С:
9

ОткрытьПапкуФайла

public void browseFileDirectory(File file)
Открывает папку, содержащую file и выбирает ее в стандартном файловом менеджере системы.
Параметры:
file - файл
Исключения:
SecurityException - Если существует менеджер безопасности и его метод SecurityManager.checkRead(java.lang.String) запрещает доступ для чтения к файлу или его родительскому каталогу, или он запрещает доступ к AWTPermission("showWindowWithoutWarningBanner") разрешению, или вызывающей нити запрещено создавать дочерний процесс
UnsupportedOperationException - если текущая платформа не поддерживает действие Desktop.Action.BROWSE_FILE_DIR
NullPointerException - если file является null
IllegalArgumentException - если указанный файл или его родительский каталог не существует
С:
9

ПереместитьВКорзину

public boolean moveToTrash(File file)
Перемещает указанный файл в корзину.
Параметры:
file - файл
Возвращает:
возвращает true, если файл успешно перемещен в корзину.
Исключения:
SecurityException - Если существует менеджер безопасности и его метод SecurityManager.checkDelete(java.lang.String) запрещает удаление файла
UnsupportedOperationException - если текущая платформа не поддерживает действие Desktop.Action.MOVE_TO_TRASH
NullPointerException - если file является null
IllegalArgumentException - если указанный файл не существует
С:
9

© 1993, 2023, 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/21/docs/api/java.desktop/java/awt/Desktop.html

Spec-Zone.ru

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