我想在MATLAB中显示脚本中的表格。我可以轻松生成<td>
和其他HTML元素,但据我所知,我只能将它们写入文件。
有没有办法在MATLAB中显示HTML(或其他标记)?还是我坚持写文件并打开浏览器?
答案 0 :(得分:6)
您可以在PopupPanel中显示HTML文本,如下所述:http://UndocumentedMatlab.com/blog/customizing-help-popup-contents/
或者在指向HTML文件或HTML文本的集成浏览器控件中,如下所述:http://UndocumentedMatlab.com/blog/gui-integrated-browser-control/
答案 1 :(得分:4)
另一种方法是使用UITABLE控件在图形窗口中显示表格。
编辑:即使这只是问题中的问题的替代(不是解决方案),我还以为我会为可能对此选项感兴趣的任何人提供样本:
hFigure = figure('Position',[100 100 300 220]);
hTable = uitable(hFigure,'Data',rand(10,3),...
'ColumnName',{'X' 'Y' 'Z'},...
'Position',[20 20 260 180]);
答案 2 :(得分:4)
使用MATLAB图中的Java Swing组件,使用MATLAB的JEditorPane
函数精确javacomponent()
。 JEditorPane支持HTML的一个很好的子集。
以下是代码示例:
mytext = '<html><body><table border="1"><tr><th>Month</th><th>Savings</th></tr><tr><td>January</td><td>$100</td></tr></table></body></html>';
hfig = figure();
je = javax.swing.JEditorPane( 'text/html', mytext );
jp = javax.swing.JScrollPane( je );
[hcomponent, hcontainer] = javacomponent( jp, [], hfig );
set( hcontainer, 'units', 'normalized', 'position', [0,0,1,1] );
%# Turn anti-aliasing on ( R2006a, java 5.0 )
java.lang.System.setProperty( 'awt.useSystemAAFontSettings', 'on' );
je.putClientProperty( javax.swing.JEditorPane.HONOR_DISPLAY_PROPERTIES, true );
je.putClientProperty( com.sun.java.swing.SwingUtilities2.AA_TEXT_PROPERTY_KEY, true );
je.setFont( java.awt.Font( 'Arial', java.awt.Font.PLAIN, 13 ) );
编辑:请参阅此解决方案的讨论here,
答案 3 :(得分:0)
我最终做了我不想做的事情,即将HTML写入文件。它需要我在浏览器中打开它并在每次运行脚本时刷新,但这对于我在短期内所需要的内容来说并不是太糟糕。