2016-11-10 76 views
1

我正在嘗試爲Java應用程序開發瀏覽器,並且我找到了JCEF。我做了這個guide沒有任何錯誤。現在我想嘗試一下簡單的例子「MainFrame.Java」,它也是build。 我在eclipse中創建了一個項目,將jar文件添加到庫並複製MainFrame文件。在Eclipse中使用Java進行CEF開發

如果我運行它,我得到這個錯誤:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no jcef in java.library.path 
at java.lang.ClassLoader.loadLibrary(Unknown Source) 
at java.lang.Runtime.loadLibrary0(Unknown Source) 
at java.lang.System.loadLibrary(Unknown Source) 
at org.cef.CefApp.<init>(CefApp.java:157) 
at org.cef.CefApp.getInstance(CefApp.java:246) 
at org.cef.CefApp.getInstance(CefApp.java:233) 
at test.MainFrame.<init>(MainFrame.java:71) 
at test.MainFrame.main(MainFrame.java:154) 

我也嘗試在這Question描述的步驟在評論的鏈接。但如果我在第一個step下載文件,我沒有描述的文件或路徑。

有人有一個想法,我怎麼可以讓它運行或我做它完全錯誤?

代碼的大型機文件:

public class MainFrame extends JFrame { 
private static final long serialVersionUID = -5570653778104813836L; 
private final JTextField address_; 
private final CefApp cefApp_; 
private final CefClient client_; 
private final CefBrowser browser_; 
private final Component browerUI_; 

/** 
* To display a simple browser window, it suffices completely to create an 
* instance of the class CefBrowser and to assign its UI component to your 
* application (e.g. to your content pane). But to be more verbose, this 
* CTOR keeps an instance of each object on the way to the browser UI. 
*/ 
private MainFrame(String startURL, boolean useOSR, boolean isTransparent) { 

    CefApp.addAppHandler(new CefAppHandlerAdapter(null) { 
     @Override 
     public void stateHasChanged(org.cef.CefApp.CefAppState state) { 
      // Shutdown the app if the native CEF part is terminated 
      if (state == CefAppState.TERMINATED) 
       System.exit(0); 
     } 
    }); 
    CefSettings settings = new CefSettings(); 
    settings.windowless_rendering_enabled = useOSR; 
    cefApp_ = CefApp.getInstance(settings); 

    client_ = cefApp_.createClient(); 

    browser_ = client_.createBrowser(startURL, useOSR, isTransparent); 
    browerUI_ = browser_.getUIComponent(); 

    address_ = new JTextField(startURL, 100); 
    address_.addActionListener(new ActionListener() { 
     @Override 
     public void actionPerformed(ActionEvent e) { 
      browser_.loadURL(address_.getText()); 
     } 
    }); 

    getContentPane().add(address_, BorderLayout.NORTH); 
    getContentPane().add(browerUI_, BorderLayout.CENTER); 
    pack(); 
    setSize(800, 600); 
    setVisible(true); 

    addWindowListener(new WindowAdapter() { 
     @Override 
     public void windowClosing(WindowEvent e) { 
      CefApp.getInstance().dispose(); 
      dispose(); 
     } 
    }); 
} 

public static void main(String[] args) { 
    new MainFrame("http://www.google.com", OS.isLinux(), false); 
} 

}

+0

嗨歡迎SO。請提供您正在運行的代碼以幫助您。 – acostela

回答

0

我得到它的工作。我的問題是,我建立的二進制文件不正確

相關問題