2017-11-12 5 views
0

私のプロジェクトでJWebBrowserを使用しようとしています。私のコンピュータですべてうまく動作します。しかし、他のコンピュータでエグゼクティブジャーを使用しようとすると、ダブルクリックすると何も起こりません。以下はサンプルコードですが、私のコンピュータでうまく動作しますが、他のコンピュータでは動作しません。どうすればこの問題を解決できますか?JWebBrowserが他のコンピュータで動作しない

Eclipseコンソールから取得したように、エグゼクティブジャーのエラーメッセージを表示する方法はありますか?

import java.awt.BorderLayout; 
import java.awt.FlowLayout; 
import java.awt.event.ItemEvent; 
import java.awt.event.ItemListener; 
import javax.swing.BorderFactory; 
import javax.swing.JCheckBox; 
import javax.swing.JFrame; 
import javax.swing.JPanel; 
import javax.swing.SwingUtilities; 
import chrriis.common.UIUtils; 
import chrriis.dj.nativeswing.swtimpl.NativeInterface; 
import chrriis.dj.nativeswing.swtimpl.components.JWebBrowser; 

/** 
* @author Christopher Deckers 
*/ 
public class Main extends JPanel { 

    public Main() { 
    super(new BorderLayout()); 
    JPanel webBrowserPanel = new JPanel(new BorderLayout()); 
    webBrowserPanel.setBorder(BorderFactory.createTitledBorder("Native Web Browser component")); 
    final JWebBrowser webBrowser = new JWebBrowser(); 
    webBrowser.navigate("http://www.google.com"); 
    webBrowserPanel.add(webBrowser, BorderLayout.CENTER); 
    add(webBrowserPanel, BorderLayout.CENTER); 

    JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.CENTER, 4, 4)); 
    JCheckBox menuBarCheckBox = new JCheckBox("Menu Bar", webBrowser.isMenuBarVisible()); 
    menuBarCheckBox.addItemListener(new ItemListener() { 
     public void itemStateChanged(ItemEvent e) { 
     webBrowser.setMenuBarVisible(e.getStateChange() == ItemEvent.SELECTED); 
     } 
    }); 
    buttonPanel.add(menuBarCheckBox); 
    add(buttonPanel, BorderLayout.SOUTH); 
    } 


    public static void main(String[] args) { 

    UIUtils.setPreferredLookAndFeel(); 
    NativeInterface.open(); 
    SwingUtilities.invokeLater(new Runnable() { 
     public void run() { 
     JFrame frame = new JFrame("DJ Native Swing Test"); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     frame.getContentPane().add(new Main(), BorderLayout.CENTER); 
     frame.setSize(800, 600); 
     frame.setLocationByPlatform(true); 
     frame.setVisible(true); 
     } 
    }); 
    NativeInterface.runEventPump(); 
    } 

} 
+0

他のコンピュータでは、コマンド 'java -jar myJar.jar'を使用してコンソールから実行します。次に、コンソールにstacktraceが表示されます。 – Bedla

+1

[実行時にjarをデバッグする方法は?](https://stackoverflow.com/questions/19842322/how-can-i-debug-a-jar-at-runtime) – Bedla

+0

以下のエラーが発生しました。私のコンピュータは64ビットです。 32ビットと64ビットの両方でjarを動作させる方法はありますか? NativeSwing [1]:スレッドmainの例外java.lang.UnsatisfiedLinkError:Canno 32ビットJVM上の64ビットSWTライブラリのロード NativeSwing [1]:org.eclipse.swt.internal.Library.loadLibrary (Unknown ソース) NativeSwing [1]:at org.eclipse.swt.internal.Library.loadLibrary(Unknown ソース) NativeSwing [1]:at org.eclipse.swt.internal.C。 (不明な情報源) ........................... –

答えて

0

eclipseでデフォルトのJREバージョンを32ビットに変更してください。 「起動構成プロパティの編集」のVM引数に-d32を追加します。

関連する問題