Java clipboardOwner Цель? - PullRequest
       7

Java clipboardOwner Цель?

7 голосов
/ 07 декабря 2011

Я написал Java-приложение, которое копирует строку в системный буфер обмена.Конструктор использует

Clipboard.setContents(Transferable contents, ClipboardOwner owner)

http://docs.oracle.com/javase/6/docs/api/java/awt/datatransfer/Clipboard.html

У меня все работает, но я не уверен, что делает ClipboardOwner?Глядя на Java API, на самом деле не очень много информации.

http://docs.oracle.com/javase/6/docs/api/java/awt/datatransfer/ClipboardOwner.html

Как ни странно, даже передача ClippboardOwner = null работает.Так что я не совсем уверен, какой в ​​этом смысл?У кого-нибудь есть идеи?

Ответы [ 3 ]

3 голосов
/ 08 декабря 2011

Если ваше приложение или один из его компонентов реализует интерфейс ClipboardOwner соответствующим образом, это может показать вам, что пользователь скопировал некоторые данные в системный буфер обмена из другого приложения или из другого компонента вашего собственного приложения. См. Этот пример .

2 голосов
/ 07 декабря 2011

Когда следующий человек помещает что-то в буфер обмена, владельцу, которого вы отдаете в буфер обмена, будет сказано, что его больше нет в буфере обмена.Существует только одна известная реализация, и она пуста согласно this .Так что это похоже на рудиментарный хвост, который просто болтается.

0 голосов
/ 03 июня 2016

Примером использования является реализация окна терминала, где любой выбор автоматически копируется в буфер обмена.Обратный вызов lostOwnership(..) может использоваться для отмены выбора, чтобы пользователь знал, что выделение отображается тогда и только тогда, когда оно в данный момент находится в буфере обмена.Эта идиома используется, например, в rxvt (который, однако, не написан на Java).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...