2013-10-04 29 views
0

我寫了一個繪製簡單圖的matlab函數(myFunction)。使用matlab JA構建器我創建了一個jar文件。我在eclipse中創建了一個新項目,並在main方法中調用myFunction。它在日食中運行良好。當我將項目導出到可運行的jar並運行它時,matlab圖形是空白的(框架與按鈕一起出現,但圖形爲空)。任何想法解決這個問題?運行jar時matlab圖爲空

MATLAB

function myFunction() 
%MYFUNCTION Summary of this function goes here 
% Detailed explanation goes here 
a = [1:10]; 
b = [1:5:50]; 

plot(a,b); 

end 

的Java

import take2.*; 
import com.mathworks.toolbox.javabuilder.*; 


public class test { 

public static void main(String[] args) { 
    // TODO Auto-generated method stub 
    SimpleGraph sg = null; 

    try { 
     sg = new SimpleGraph(); 
     sg.myFunction(); 
    } catch (MWException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 



} 

} 

回答

0

Matlab將不會在java 1.7中正確顯示圖形。我的日食使用1.6(正常工作),但我的系統運行1.7。當從命令行運行jar時,請使用:

java -version:1.6 -jar myJar.jar 

該圖應該正確顯示。

0

不知道什麼用Matlab的JAVA Builder中的問題,但你嘗試過在Matlab功能進行任何調試語句...

除此之外,matlabcontrol可能是一個選項。此外,這裏有一個list與其他方式從Java調用Matlab。

關於情節問題的最後一個想法...如果您只想顯示情節,您可以隨時保存情節,然後從Java加載並顯示它。我知道....這不是最優雅的解決方案,但它會起作用。

希望有幫助,Stephan