Класс Desktop
- java.lang.Object
-
- java.awt.Desktop
public class Desktop extends Object
Класс Desktop позволяет Java-приложению запускать связанные приложения, зарегистрированные на локальном рабочем столе, для обработки URI или файла.
Поддерживаемые операции включают:
- запуск браузера по умолчанию для отображения указанного URI;
- запуск почтового клиента по умолчанию с необязательным
mailtoURI; - запуск зарегистрированного приложения для открытия, редактирования или печати указанного файла.
Этот класс предоставляет методы, соответствующие этим операциям. Методы ищут связанное приложение, зарегистрированное в текущей системе, и запускают его для обработки URI или файла. Если связанное приложение отсутствует или не запускается, генерируется исключение.
Приложение регистрируется для определенного типа URI или файла; например, расширение файла "sxi" обычно регистрируется для StarOffice. Механизм регистрации, доступа и запуска связанного приложения зависит от платформы.
Каждая операция — это тип действия, представленный классом Desktop.Action.
Примечание: при вызове операции и выполнении связанного приложения, оно будет выполнено на той же системе, что и Java-приложение.
- Since:
- 1.6
Вложенные классы
| Модификатор и тип | Класс и описание |
|---|---|
static class |
Desktop.Action Представляет тип действия. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
void |
browse(URI uri) Запускает браузер по умолчанию для отображения |
void |
edit(File file) Запускает связанное приложение-редактор и открывает файл для редактирования. |
static Desktop |
getDesktop() Возвращает |
static boolean |
isDesktopSupported() Проверяет, поддерживается ли этот класс на текущей платформе. |
boolean |
isSupported(Desktop.Action action) Проверяет, поддерживается ли действие на текущей платформе. |
void |
mail() Запускает окно создания письма почтового клиента по умолчанию. |
void |
mail(URI mailtoURI) Запускает окно создания письма почтового клиента по умолчанию, заполняя поля сообщения, указанные в |
void |
open(File file) Запускает связанное приложение для открытия файла. |
void |
print(File file) Печатает файл с помощью средства печати локального рабочего стола, используя команду печати связанного приложения. |
Методы, унаследованные от класса 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(java.awt.Desktop.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
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.
Если у вызывающего потока нет необходимых разрешений, и это вызвано из апплета, используется AppletContext.showDocument(). Аналогично, если у вызывающего потока нет необходимых разрешений, и это вызвано из приложения Java Web Started, используется BasicService.showDocument().
- Параметры:
-
uri- URI, который должен быть отображен в браузере по умолчанию - Выбрасывает:
-
NullPointerException- еслиuriравноnull -
UnsupportedOperationException- если текущая платформа не поддерживает действиеDesktop.Action.BROWSE -
IOException- если браузер по умолчанию не найден, или он не может быть запущен, или приложение по умолчанию не может быть запущено -
SecurityException- если менеджер безопасности существует и отклоняет разрешениеAWTPermission("showWindowWithoutWarningBanner"), или вызывающий поток не имеет права создавать дочерний процесс; и не вызван из апплета или приложения Java Web Started -
IllegalArgumentException- если необходимые разрешения недоступны и URI не может быть преобразован вURL - См. также:
-
URI,AWTPermission,AppletContext
public void mail()
throws IOException Запускает окно составления письма почтового клиента по умолчанию.
- Выбрасывает:
-
UnsupportedOperationException- если текущая платформа не поддерживает действиеDesktop.Action.MAIL -
IOException- если почтовый клиент по умолчанию не найден или не может быть запущен -
SecurityException- если существует менеджер безопасности и он отклоняет разрешениеAWTPermission("showWindowWithoutWarningBanner"), или вызывающий поток не имеет права создавать дочерний процесс - См. также:
AWTPermission
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- если почтовый клиент по умолчанию не найден или не может быть запущен -
SecurityException- если менеджер безопасности существует и отклоняет разрешениеAWTPermission("showWindowWithoutWarningBanner"), или вызывающий поток не имеет права создавать дочерний процесс - См. также:
-
URI,AWTPermission
© 1993, 2020, 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.