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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> "Горячие" комбинации клавиш в приложении 
V
    Опции темы
Anyone
Дата 8.12.2010, 10:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Написал не большую программу (под Windows) не используя каких-либо IDE, хочу запускать ее без консоли (ну или чтобы она сразу закрывалась после запуска батника), появлялась в трее и реагировала на "горячие" комбинации клавиш. Как это все сделать?

Для использования "горячих" комбинаций клавиш скачал либу JIntellitype, но никак не могу разобраться как ее использовать, если программа написана с помощью блокнота без IDE - не могу скомпилить, не находит библиотеку. Вот строчка в батнике для компиляции. "C:\Program Files\Java\jdk1.6.0_13\bin\javac" -d .\bin @sourcefiles. В sourcefiles только мои исходники.

Спасибо за внимание, буду благодарен за идеи!
PM MAIL   Вверх
Kircul
Дата 8.12.2010, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Вот мануал. Вам нужно глянуть на опцию -cp, там должна быть указана ваша либа.

З.Ы. собирать с помощью bat не очень удобно ;). Я бы посоветовал ant.
PM   Вверх
Anyone
Дата 8.12.2010, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(Kircul @  8.12.2010,  11:23 Найти цитируемый пост)
ам нужно глянуть на опцию -cp, там должна быть указана ваша либа.

Да, я не досмотрел что есть такая опция, спасибо, исправил, импорты теперь работают:

Код

import com.melloware.jintellitype.HotkeyListener;
import com.melloware.jintellitype.IntellitypeListener;
import com.melloware.jintellitype.JIntellitype;


Но все же проблема не решена: куда нужно скопировать JIntellitype.dll и нужно ли ее подключать?
У меня коммпилятор ругается на строчку:
Код

JIntellitype.getInstance().addHotKeyListener(this);

Сообщение:

"C:\Program Files\Java\jdk1.6.0_13\bin\javac" -cp .
;.\lib\jintellitype-1.3.5.jar; -d .\bin @sourcefiles
.\src\Sms2All\MainForm.java:93: addHotKeyListener(com.melloware.jintellitype.Hot
keyListener) in com.melloware.jintellitype.JIntellitype cannot be applied to (Sm
s2All.MainForm)
         JIntellitype.getInstance().addHotKeyListener(this);
                                                 ^
1 error


Добавлено через 3 минуты и 45 секунд
Для трея скачал библиотеку jdic, но пока еще не разбирался
PM MAIL   Вверх
Kircul
Дата 8.12.2010, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Вероятно класс объекта this должени имплементить интерфейс com.melloware.jintellitype.HotkeyListener. Но это уже совсем другая проблемма.
PM   Вверх
Anyone
Дата 8.12.2010, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(Kircul @  8.12.2010,  12:21 Найти цитируемый пост)
Вероятно класс объекта this должени имплементить интерфейс com.melloware.jintellitype.HotkeyListener.

Ну да, канеш... Спасибо!

Осталось разобраться почему вылетает нулл поинтер эксепшн при добавлении addHotKeyListener'а в той же строчке. Возможно, ненаходит dll'ку...

PM MAIL   Вверх
Anyone
Дата 9.12.2010, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



При исполнении этого кода у меня вылетает эксепшн:
Код

      // next check to make sure JIntellitype DLL can be found and we are on 
      // a Windows operating System
      if (!JIntellitype.isJIntellitypeSupported()) {
        System.out.println("Not supported!");
         System.exit(1);
      }

Сообщение:
Exception in thread "main" com.melloware.jintellitype.JIntellitypeException: jav
a.lang.NullPointerException
        at com.melloware.jintellitype.JIntellitype.<init>(JIntellitype.java:117)

        at com.melloware.jintellitype.JIntellitype.getInstance(JIntellitype.java
:173)
        at com.melloware.jintellitype.JIntellitype.checkInstanceAlreadyRunning(J
Intellitype.java:325)
        at Sms2All.MainForm.<init>(MainForm.java:69)
        at Sms2All.MainForm.main(MainForm.java:46)
Caused by: java.lang.NullPointerException
        at com.melloware.jintellitype.JIntellitype.fromJarToFs(JIntellitype.java
:144)
        at com.melloware.jintellitype.JIntellitype.<init>(JIntellitype.java:103)

        ... 4 more

Файл JIntellitype.dll помещал и в папку lib (где находится сама библиотека JIntellitype), и в корень (где батник, который запускает приложение) и в Windows\System32 - ничего не помогает.

У меня Windows7.
Есть какие-нибудь идеи?

Это сообщение отредактировал(а) Anyone - 9.12.2010, 10:07
PM MAIL   Вверх
Anyone
Дата 9.12.2010, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Сменил версию jintellitype-1.3.5.jar на jintellitype-1.3.1.jar - заработали "горячие" комбинации клавиш, правда пришлось загрузить еще одну библиотечку - commons-logging-1.1.1.
Только почему-то JIntellitype.checkInstanceAlreadyRunning выдает true, интересно, почему?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

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

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


 




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


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

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