|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public class Clipboard
extends java.lang.Object
Чтобы получить доступ к общему системному буферу обмена, используйте следующий код:
Clipboard clipboard = Clipboard.getSystemClipboard();
Есть только когда-либо один экземпляр системного буфера обмена в приложении, таким образом, совершенно приемлемо спрятать ссылку на это где-нибудь удобный если Вы, так выберите.
Буфер обмена работает на понятии наличия единственного концептуального элемента на буфере обмена в любой момент - хотя это может быть помещено в буфер обмена в различных форматах. Например, пользователь мог бы выбрать текст в редакторе HTML и нажать ctrl+c или cmd+c, чтобы скопировать это. В этом случае тот же самый текст мог бы быть доступным на буфере обмена и как HTML и как простой текст. Есть две копии данных на буфере обмена, но они оба представляют те же самые данные.
Контент определяется на Буфере обмена при использовании setContent(java.util.Map) метод. Во-первых, создайте объект ClipboardContent, затем вызовите setContent. Каждый раз setContent вызывают, любые предыдущие данные на буфере обмена очищаются и заменяются этим новым контентом.
final Clipboard clipboard = Clipboard.getSystemClipboard();
final ClipboardContent content = new ClipboardContent();
content.putString("Some text");
content.putHtml("<b>Some</b> text");
clipboard.setContent(content);
ClipboardContent class является просто картой с методами удобства для того, чтобы иметь дело с типами общих данных, добавленными к буферу обмена.
Поскольку многократные представления тех же самых данных могут существовать на буфере обмена, и потому что у различных приложений есть различные возможности обработки различных типов контента, важно поместить так много представлений данных в буфер обмена, как практично, чтобы облегчить внешние приложения. Отметьте, что иногда операционная система могла бы быть полезной в некоторых случаях и добавить многократные типы для Вас. Например, Mac мог бы установить строку простого текста для Вас, когда Вы определяете тип RTF. То, как и при каких обстоятельствах это происходит, вне области этой спецификации, консультируйтесь со своей документацией ОС.
Читая данные от буфера обмена, важно искать самый богатый поддерживаемый тип сначала. Например, если у меня есть текстовый документ, который поддерживает встраивание изображений и форматов носителя, вставляя контент от буфера обмена, я должен сначала проверить, чтобы видеть, может ли контент быть представлен как носители или как изображение. В противном случае тогда я мог бы проверить на RTF или HTML или независимо от того, что rich text format поддерживается моим типом документа. В противном случае тогда я мог бы только взять Строку.
Или например, если у меня есть документ простого текста, тогда я был бы простой получать Строковое представление и использование это при наличии. Я могу проверить, чтобы видеть если буфер обмена "hasHtml" или "hasString".
if (clipboard.hasString()) { ... }
В дополнение к общему или созданному в типах, можно поместить любые произвольные данные на буфер обмена (предполагающий, что это - или ссылка, или сериализуемый. См. больше о ссылках позже). Система буфера обмена в JavaFX использует ту же самую систему как Какао для того, чтобы определить иерархическое пространство имен для типов контента. См. http://en.wikipedia.org/wiki/Uniform_Type_Identifier.
DataFormat class определяет неизменный объект, и есть много статических заключительных полей для общих типов DataFormat. Конечно, специализированные типы DataFormat могут также быть объявлены и использоваться. Следующие два метода эквивалентны (и второй вызов переопределит первое!)
ClipboardContent content = new ClipboardContent();
content.putString("some text");
content.put(DataFormat.PLAIN_TEXT, "other text");
| Модификатор и Тип | Метод и Описание |
|---|---|
void |
clear()
Очищает буфер обмена от любого и всего контента.
|
java.lang.Object |
getContent(DataFormat dataFormat)
Возвращает контент, сохраненный в этом буфере обмена данного типа, или нуле, если нет никакого контента с этим типом.
|
java.util.Set<DataFormat> |
getContentTypes()
Получает набор типов DataFormat на этом экземпляре Буфера обмена, которые связали данные, зарегистрированные на буфере обмена.
|
java.util.List<java.io.File> |
getFiles()
Получает Список Файлов от буфера обмена, который был ранее зарегистрирован.
|
java.lang.String |
getHtml()
Получает текстовую строку HTML от буфера обмена, который был ранее зарегистрирован.
|
Изображение |
getImage()
Получает Изображение от буфера обмена, который был ранее зарегистрирован.
|
java.lang.String |
getRtf()
Получает текстовую строку RTF от буфера обмена, который был ранее зарегистрирован.
|
java.lang.String |
getString()
Получает простой текст Строка от буфера обмена, который был ранее зарегистрирован.
|
static Clipboard |
getSystemClipboard()
Получает буфер обмена существующей системы, через который данные могут храниться и получены.
|
java.lang.String |
getUrl()
Получает Строку URL от буфера обмена, который был ранее зарегистрирован.
|
boolean |
hasContent(DataFormat dataFormat)
Тесты, есть ли какой-либо контент на этом буфере обмена данного типа DataFormat.
|
boolean |
hasFiles()
Добирается ли Список Файлов (DataFormat. ФАЙЛЫ), был зарегистрирован на этом Буфере обмена.
|
boolean |
hasHtml()
Добирается, была ли текстовая строка HTML (DataFormat.HTML) зарегистрирована на этом Буфере обмена.
|
boolean |
hasImage()
Добирается ли Изображение (DataFormat. ИЗОБРАЖЕНИЕ), был зарегистрирован на этом Буфере обмена.
|
boolean |
hasRtf()
Добирается, была ли Строка RTF (DataFormat.RTF) зарегистрирована на этом Буфере обмена.
|
boolean |
hasString()
Добирается ли простой текст Строка (DataFormat. PLAIN_TEXT), был зарегистрирован на этом Буфере обмена.
|
boolean |
hasUrl()
Добирается ли Строка url (DataFormat. URL), был зарегистрирован на этом Буфере обмена.
|
boolean |
setContent(java.util.Map<DataFormat,java.lang.Object> content)
Помещает контент на буфер обмена.
|
public static Clipboard getSystemClipboard()
public final void clear()
getContentTypes() прежде, чем поместить больше контента в буфер обмена приведет к возвращаемому пустому множеству.public final java.util.Set<DataFormat> getContentTypes()
public final boolean setContent(java.util.Map<DataFormat,java.lang.Object> content)
content - Контент, чтобы поставить буфер обмена. Если ноль, буфер обмена просто очищается и никакой новый добавленный контент.java.lang.NullPointerException - если нулевую ссылку данных передают для какого-либо форматаpublic final java.lang.Object getContent(DataFormat dataFormat)
public final boolean hasContent(DataFormat dataFormat)
public final boolean hasString()
hasContent(DataFormat.PLAIN_TEXT) возвращает true, ложь иначеpublic final java.lang.String getString()
getContent(DataFormat.PLAIN_TEXT). Если никакая такая запись не существует, нуль возвращается.public final boolean hasUrl()
public final java.lang.String getUrl()
getContent(DataFormat.URL). Если никакая такая запись не существует, нуль возвращается.public final boolean hasHtml()
hasContent(DataFormat.HTML) возвращает true, ложь иначеpublic final java.lang.String getHtml()
getContent(DataFormat.HTML). Если никакая такая запись не существует, нуль возвращается.public final boolean hasRtf()
public final java.lang.String getRtf()
getContent(DataFormat.RTF). Если никакая такая запись не существует, нуль возвращается.public final boolean hasImage()
public final Image getImage()
getContent(DataFormat.IMAGE). Если никакая такая запись не существует, нуль возвращается.public final boolean hasFiles()
public final java.util.List<java.io.File> getFiles()
getContent(DataFormat.FILES). Если никакая такая запись не существует, нуль возвращается.Copyright (c) 2008, 2011, Oracle и/или его филиалы. Все права защищены. Использование подвергается .