Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Clipboard на Mac OS 
:(
    Опции темы
Viroman
Дата 7.7.2010, 03:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 28.7.2008

Репутация: нет
Всего: нет



Дорогие форумчане, столкнулся с очень неприятным багом на Java под Mac OS и не знаю, как решить проблему.
Одним словом
Предположим, пустой клипбоард сначала
Java: читает строку: пусто
Другое приложение пишет: test
Java: читает строку: test
Другое приложение пишет: test2
Java: читает строку: test2
теперь наоборот...
Java: пишет строку: new test
Java: читает строку: new test
вроде бы так и должно быть, но
!!!вот тут то и ошибка, в других приложениях, то что я в клипбоард записал на джаве, не отображается, то есть вместо new test, показывает test2.
И при этом с этого места Java только читает из клипбоарда только то, что сам джава записал, то есть
Другое приложение пишет: test3
Java: читает строку: new test

Ни на линуксе, ни на виндовс этих проблем не возникает, что делать с маком, ума не приложу?
Что я делаю неправильно? Что надо сделать, чтобы вновь после записи джавой, читать системный клипбоард, а не тот, который джава написала.


Код

           JFrame frame = new JFrame("Use Clipboard");
           final Clipboard clipboard = frame.getToolkit().getSystemClipboard();

           public void setClipboardContents(String selection) {
            StringSelection data = new StringSelection(selection);
            clipboard.setContents(data, data);
            System.out.println("String written: " + selection);
           }

           public String getClipboardContents() {
             String returntext = "";
             Transferable clipData = clipboard.getContents(clipboard);
              try {
                if(clipData.isDataFlavorSupported(DataFlavor.stringFlavor)) {
                  String s = (String)(clipData.getTransferData(DataFlavor.stringFlavor));
                  returntext = s;
                }
              } catch (Exception ufe) {}
             System.out.println("Clip board content: " + rerurntext);
             return returntext;
           }



В общем это одна из вариаций кода, 
есть ещё вместо фрейма тулкит вариация, но сути это не меняет, проблема та же и остаётся.
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();

Может кто то сталкивался с проблемой и знает, как её обойти?

PM MAIL   Вверх
Sartorius
Дата 7.7.2010, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

Репутация: нет
Всего: 37



Попробуй использовать com.apple.cocoa.foundation.* 
Вот тебе пример проекта http://www.google.ru/codesearch/p?hl=ru#St...n.*%20clipboard

Можешь еще через AppleScript c clipboard-ом работать
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0399 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.