Я пишу программу, и в какой-то момент внутри моей программы я хочу наблюдать за клавиатурой, пока моя программа не имеет фокуса. Я использую банку под названием "JNativeHook", которую можно найти здесь http://code.google.com/p/jnativehook/
Что касается моей проблемы:
Эта банка работает и фиксирует каждое нажатие и отпускание клавиши. В моем коде я отслеживаю это: при каждом событии нажатия клавиши, если нажата клавиша «v» или Ctrl, я устанавливаю флаг для каждого, если оба события верны, пользователь вставляет. Когда пользователь первоначально вставляет, программа увеличивает счетчик до 1. При следующей вставке, если счетчик равен 1, он устанавливает текст системного буфера обмена на «Test Paste1», увеличивает счетчик, он делает это 3 раза, а в третий раз он модулирует счетчик на 3 и перезапускается. (Я планирую добавить элемент управления, чтобы при нажатии определенной комбинации keyListener был активен и пытался изменить системный буфер обмена; повторное нажатие отключает его)
Моя проблема заключается в том, что иногда он изменяет буфер обмена, и я действительно вставляю правильный текст, а иногда нет, и я получаю сообщение об ошибке
Exception in thread "pool-1-thread-135" java.lang.IllegalStateException: cannot open system clipboard
Поэтому иногда я могу открыть клавиатуру, а иногда нет. Я использую блокнот для тестирования. Итак, я запускаю свою программу, открываю блокнот, что-то копирую. Потом я вставляю, там написано, потом следующая вставка, иногда правильно, иногда нет, и следующая (2-я вставка), и следующая (3-я). Потом, если я пройду весь путь, все начнется заново.
Почему я иногда не могу получить доступ к буферу обмена, как я могу написать это, чтобы текст гарантированно попадал в буфер обмена?
Я полагаю, что поместил строку в цикл while и, пока нет исключений, продолжаю. Но я могу попасть в бесконечный цикл, если буфер обмена «недоступен» в течение x времени.
Продолжение:
http://stackoverflow.com/questions/1449 ... ling-logic
Подробнее здесь: https://stackoverflow.com/questions/144 ... ails-works
Ошибка «Невозможно открыть системный буфер обмена», попытка установить системный буфер обмена не работает/включается и в ⇐ JAVA
Программисты JAVA общаются здесь
1728021700
Anonymous
Я пишу программу, и в какой-то момент внутри моей программы я хочу наблюдать за клавиатурой, пока моя программа не имеет фокуса. Я использую банку под названием "JNativeHook", которую можно найти здесь http://code.google.com/p/jnativehook/
Что касается моей проблемы:
Эта банка работает и фиксирует каждое нажатие и отпускание клавиши. В моем коде я отслеживаю это: при каждом событии нажатия клавиши, если нажата клавиша «v» или Ctrl, я устанавливаю флаг для каждого, если оба события верны, пользователь вставляет. Когда пользователь первоначально вставляет, программа увеличивает счетчик до 1. При следующей вставке, если счетчик равен 1, он устанавливает текст системного буфера обмена на «Test Paste1», увеличивает счетчик, он делает это 3 раза, а в третий раз он модулирует счетчик на 3 и перезапускается. (Я планирую добавить элемент управления, чтобы при нажатии определенной комбинации keyListener был активен и пытался изменить системный буфер обмена; повторное нажатие отключает его)
Моя проблема заключается в том, что иногда он изменяет буфер обмена, и я действительно вставляю правильный текст, а иногда нет, и я получаю сообщение об ошибке
Exception in thread "pool-1-thread-135" java.lang.IllegalStateException: cannot open system clipboard
Поэтому иногда я могу открыть клавиатуру, а иногда нет. Я использую блокнот для тестирования. Итак, я запускаю свою программу, открываю блокнот, что-то копирую. Потом я вставляю, там написано, потом следующая вставка, иногда правильно, иногда нет, и следующая (2-я вставка), и следующая (3-я). Потом, если я пройду весь путь, все начнется заново.
Почему я иногда не могу получить доступ к буферу обмена, как я могу написать это, чтобы текст гарантированно попадал в буфер обмена?
Я полагаю, что поместил строку в цикл while и, пока нет исключений, продолжаю. Но я могу попасть в бесконечный цикл, если буфер обмена «недоступен» в течение x времени.
Продолжение:
http://stackoverflow.com/questions/14492472/cannot-gain-control-over-clipboard-even-with-controlling-logic
Подробнее здесь: [url]https://stackoverflow.com/questions/14489733/error-cannot-open-system-clipboard-trying-to-set-system-clipboard-fails-works[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия