2015-10-16 2 views
0

Я хочу создать простое системное уведомление в своем рабочем приложении Java. Итак, после некоторого поиска в Интернете, я нашел библиотеку JCarrierPigeon для этого.Как реализовать, системное уведомление в приложении для Java-приложений

Таким образом, после вставки две библиотеки у меня есть этот код:

package prove; 

import javax.swing.JFrame; 

import net.sf.jcarrierpigeon.Notification; 
import net.sf.jcarrierpigeon.NotificationQueue; 
import net.sf.jcarrierpigeon.WindowPosition; 

public class NOtification { 

    public static void main(String[] args){ 
     NotificationQueue queue = new NotificationQueue(); 



      JFrame window1 = new JFrame(); 

      Notification note1 = new Notification(window1, WindowPosition.BOTTOMRIGHT, 25, 25, 1000); 

      queue.add(note1); 
    } 
} 

Но если я пытаюсь запустить его, у меня есть эта ошибка:

Exception in thread "main" java.lang.NoClassDefFoundError: org/jdesktop/animation/timing/TimingTarget 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) 
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
    at prove.NOtification.main(NOtification.java:18) 
Caused by: java.lang.ClassNotFoundException: org.jdesktop.animation.timing.TimingTarget 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
    ... 13 more 

Как я могу неподвижную его?

+0

- это ваш контейнер-несушка в пути класса во время выполнения? – vikingsteve

+0

У меня есть, щелкните правой кнопкой мыши по проекту, Propeties, затем я добавлю JCarrierPiegon.jar – bircastri

+0

Вам также необходимо включить фреймворк фреймворка: [«Прежде всего, обязательно включите библиотеку Timing Framework в свой путь к классам».] (Http : //jcarrierpigeon.sourceforge.net/) – Fildor

ответ

0

В Homepage of JCarrierPidgeon состояния:

"First of all, be sure to include the Timing Framework library in your classpath."

И ErrorMessage выглядит, как вы не сделали этого.

Домашняя страница также предоставляет ссылку на эту библиотеку. Я не буду делать этого здесь, потому что он, скорее всего, устареет.

+0

Да Да Я включил библиотеку JCarrierPidgeon и Timing Framework, но не работает – bircastri

+0

Убедитесь, что Timing Framework находится на пути к классу, поскольку org.jdesktop.animation.timing.TimingTarget определенно является классом из этой банки. – Fildor

+0

Я только что нашел решение. В удобное для меня время я загружаю Timing Framework для приложения swing с официального веб-сайта, но правильная банка находится в библиотеке для приложения classi. В настоящее время работает – bircastri

Смежные вопросы