MATLAB: отображение разметки (HTML или другой формат) - PullRequest
3 голосов
/ 15 декабря 2009

Я бы хотел отобразить таблицу из скрипта в MATLAB . Я легко могу сгенерировать <td> и другие элементы HTML, но, насколько мне известно, я могу записать их только в файл.

Есть ли способ отображения HTML (или другой разметки) из MATLAB? Или я застрял при записи в файл и открытии браузера?

Ответы [ 4 ]

6 голосов
/ 15 декабря 2009

Вы можете отобразить текст HTML в PopupPanel, как описано здесь: http://UndocumentedMatlab.com/blog/customizing-help-popup-contents/

alt text

Или в интегрированном элементе управления браузером, который указывает на ваш файл HTML или текст HTML, как описано здесь: http://UndocumentedMatlab.com/blog/gui-integrated-browser-control/

alt text

4 голосов
/ 15 декабря 2009

Используйте компонент Java Swing внутри фигуры MATLAB, в точности JEditorPane, используя функцию javacomponent() MATLAB. JEditorPane поддерживает хорошее подмножество HTML.

alt text

Вот пример кода:

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 ) );

РЕДАКТИРОВАТЬ: см. Обсуждение этого решения здесь ,

4 голосов
/ 15 декабря 2009

Одной из альтернатив является отображение таблицы в графическом окне с использованием элемента управления UITABLE .

РЕДАКТИРОВАТЬ: Хотя это всего лишь альтернатива (а не решение ) для проблемы в вопросе, я подумал, что я бы включил образец для тех, кто может быть заинтересован в этой опции:

hFigure = figure('Position',[100 100 300 220]);
hTable = uitable(hFigure,'Data',rand(10,3),...
                 'ColumnName',{'X' 'Y' 'Z'},...
                 'Position',[20 20 260 180]);

alt text

0 голосов
/ 15 декабря 2009

Я закончил тем, что не хотел, а именно записывал HTML в файл. Требуется, чтобы я открывал его в браузере и обновлял каждый раз, когда запускаю свой скрипт, но это не так уж плохо для того, что мне нужно в краткосрочной перспективе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...