2016-11-10 13 views
1

私はJavaアプリケーション用のブラウザを開発しようとしており、JCEFが見つかりました。私はこれをguideとして間違いなく作成しました。今私は簡単な例 "MainFrame.Java"を試してみたいと思います。 私はeclipseでプロジェクトを作成し、jarファイルをライブラリに追加し、MainFrameファイルをコピーしました。JavaでEclipseで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

こんにちは。お手伝いするために実行しているコードを提供してください。 – acostela

答えて

0

は、私が働いてそれを得ました。私の問題は、バイナリファイルを正しくビルドできないということでした。

関連する問題