Java clipboardOwner Цель?

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

Clipboard.setContents(Transferable contents, ClipboardOwner owner)

http://docs.oracle .com /JavaSE /6 /документы /API /Java /AWT /DataTransfer /Clipboard.html

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

http://docs.oracle .com /JavaSE /6 /документы /API /Java /AWT /DataTransfer /ClipboardOwner.html

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

7 голосов | спросил Halfwarr 7 WedEurope/Moscow2011-12-07T23:07:32+04:00Europe/Moscow12bEurope/MoscowWed, 07 Dec 2011 23:07:32 +0400 2011, 23:07:32

3 ответа


0

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

ответил MockerTim 8 ThuEurope/Moscow2011-12-08T00:36:58+04:00Europe/Moscow12bEurope/MoscowThu, 08 Dec 2011 00:36:58 +0400 2011, 00:36:58
0

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

ответил Sign 7 WedEurope/Moscow2011-12-07T23:14:22+04:00Europe/Moscow12bEurope/MoscowWed, 07 Dec 2011 23:14:22 +0400 2011, 23:14:22
0

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

ответил Evgeni Sergeev 3 J0000006Europe/Moscow 2016, 06:11:10

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132