![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
привет
Нужно реализовать буфер обмена "на уровне ОС" (нужно кроссплатформенное решение, но пока только для Windows хотя бы ). "На уровне ОС" - это означает, что необходима поддержка копирования из ОС в программу. Пример - делаю print screen, далее через ctrl+v вставляю в свое приложение на java (приложение GUI - компонент JTree) т.е. нужна какая то поддержка Flavor чтобы приложение само определило, можно ли вставить или нет. Еще пример - в проводнике (или ФМ не важно) скопировать фильм (Ctrl +c ) и в приложение вставить как Ctrl +v - по идее Flavor должен определить, что вставлять нужно не фильм, а только название (т.е. титаник.avi) Вобщем, хотелось бы услышать либо советы, либо примеры может какие есть. Типа делаю print screen окна - и затем Ctrl+v в приложение, и в нем появилась эта картинка ![]() Надеюсь, хоть немного понятно что требуется ![]() |
|||
|
||||
dobrolub |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 385 Регистрация: 18.12.2009 Где: Vancouver, Canada Репутация: 11 Всего: 16 |
Clipboard.getAvailableDataFalvors() возвратит все форматы которые доступны для объекта в буфере, а Clipboard.isDataFlavorAvailable(DataFlavor) вернёт true в случае когда в буфере есть данный Flavor. Если он есть, берите его с помощью Clipboard.getData(DataFlavor). В зависимости от Flavor он вернёт либо HTML, либо String, либо BufferedImage или другой, соответствующий Flavor объект.
Для объекта в буфере можно получить все его Flavors через Clipboard.getAvailableDataflavors(). Вот например для куска HTML (ужас, обрезано):
Сконструировать Flavor можно используя один из конструкторов с данными подсмотренными через availableFlavors. Например, если будет на Clipboard image, то откроется в JFrame, a если не image, то распечатаются его flavors ![]()
Это сообщение отредактировал(а) dobrolub - 30.1.2010, 21:10 |
||||
|
|||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
Проблема решена.
я наверное немного не так выразился. solution : Нужно было создать доп класс, сделать ему extends TransferHandler и переопределить основные методы ![]() ![]() dobrolub, все равно спасибо Это сообщение отредактировал(а) Samotnik - 3.2.2010, 00:53 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |