2016-03-28 42 views
0

我試圖在IntelliJ中直接嵌入YouTube視頻到JFrame。 我添加下列庫:DJNativeSwing.jar,DJNativeSwing-SWT.jar和swt.jar。我必須編譯三個.jar文件。Swing中的Java YoutubePlayer

libraries

YoutubePlayer_Swing.java:

public static void main(String[] args) { 
    NativeInterface.open(); 
    SwingUtilities.invokeLater(new Runnable() { 
     public void run() { 
      JFrame frame = new JFrame("YouTube Viewer"); 
      frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); 
      frame.getContentPane().add(getBrowserPanel(), BorderLayout.CENTER); 
      frame.setSize(800, 600); 
      frame.setLocationByPlatform(true); 
      frame.setVisible(true); 
     } 
    }); 
    NativeInterface.runEventPump(); 
    // don't forget to properly close native components 
    Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() { 
     @Override 
     public void run() { 
      NativeInterface.close(); 
     } 
    })); 
} 

public static JPanel getBrowserPanel() { 
    JPanel webBrowserPanel = new JPanel(new BorderLayout()); 
    JWebBrowser webBrowser = new JWebBrowser(); 
    webBrowserPanel.add(webBrowser, BorderLayout.CENTER); 
    webBrowser.setBarsVisible(false); 
    webBrowser.navigate("https://www.youtube.com/v/b-Cr0EWwaTk?fs="); 
    return webBrowserPanel; 
} 

錯誤:

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: com/sun/jna/Native 
at chrriis.dj.nativeswing.swtimpl.core.SWTNativeComponent.getHandle(SWTNativeComponent.java:948) 
at chrriis.dj.nativeswing.swtimpl.core.SWTNativeComponent.createNativePeer(SWTNativeComponent.java:1006) 
at chrriis.dj.nativeswing.swtimpl.core.SWTNativeComponent.access$17(SWTNativeComponent.java:989) 
at chrriis.dj.nativeswing.swtimpl.core.SWTNativeComponent$12.run(SWTNativeComponent.java:882) 
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) 
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756) 
at java.awt.EventQueue.access$500(EventQueue.java:97) 
at java.awt.EventQueue$3.run(EventQueue.java:709) 
at java.awt.EventQueue$3.run(EventQueue.java:703) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) 
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726) 
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) 
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) 
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) 
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) 
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) 
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) 
Caused by: java.lang.ClassNotFoundException: com.sun.jna.Native 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    ... 18 more 
Process finished with exit code 0 

什麼我錯了嗎?

+0

[JNA示例程序java.lang.NoClassDefFoundError]的可能重複(http://stackoverflow.com/questions/1773720/jna-example-program-java-lang-noclassdeffounderror) – Joe

+0

我添加了.jar文件我的軟件包所在的文件夾,但它不起作用 –

回答