После установки R2018b первая открытая мною фигура содержала интересное сообщение (показано синим цветом):
Причина, по которой это интересно, заключается в том, что он содержит такие функции, как перенос текста, прозрачность, тот факт, что изображение сохраняет постоянную ширину даже при изменении размера текста (это напомнило мне о Flexbox CSS3, следовательно, о теге) и т. д.
Последняя часть анимации сделана в замедленном темпе, чтобы лучше показать, как размер div соответствует размеру рисунка.
В случае необходимости я использую Win 10 v1803.
Я хотел бы знать, как мы можем нарисовать похожие, нестандартные, дивы (за неимением лучшего слова) в наших цифрах. (Важно подчеркнуть, что это нетUIFigure!)
Что я нашел на данный момент:
Ссылка Выучить больше открывает страницу:
web(fullfile(docroot, 'matlab/creating_plots/interactively-explore-plotted-data.html'))
все же точки останова в точках входа либо web, либо docroot (или даже doc) не достигаются.
Предполагая, что этот элемент является Child рисунка, я попытался найти его дескриптор:
>> set(gcf,'MenuBar','none'); findall(gcf)
ans =
22×1 graphics array:
Figure (1)
ContextMenu
AnnotationPane
Axes
AxesToolbar
Text
Text
Text
ToolbarStateButton (Brush/Select Data)
ToolbarStateButton (Data Tips)
ToolbarStateButton (Rotate 3-D)
ToolbarStateButton (Pan)
ToolbarStateButton (Zoom In)
ToolbarStateButton (Zoom Out)
ToolbarPushButton (Restore View)
Button
Button
Button
Button
Button
Button
Button
однако, если сделать эти элементы управления невидимыми с помощью set(h(2:end), 'Visible', false), div не исчезнет.
Сохранение рисунка как .fig или генерация кода для него не оставляет никаких следов этого div.
Когда uiinspect обрабатывает фигуру, этот div не отображается (или, по крайней мере, я не может его найти).
Я не знаю, что именно я сделал, чтобы он снова появился, но поскольку он должен появиться в самый первый раз, когда вы загружаете R2018b, я подозреваю, что удаление prefdir (очевидно, после его резервного копирования) и перезапуск MATLAB могут вернуть его .
com.mathworks.mlservices.MLHelpServices.setCurrentLocation (от mlservices.jar), что открывает браузер справки.Чтобы погрузиться в современный стиль фигур, см. Набор инструментов github.com/StackOverflowMATLABchat/mlapptools и его примеры. Еще один пример веб-интерфейса (uipanel): undocumentedmatlab.com/blog/customizing-web-gui-uipanel. Но в моей системе он вроде глючит.
@marsei: Взгляните на страницу участники набора инструментов, который вы связали. :)





После некоторого покопания в Java (начиная с findjobj, за которым следовало много .getComponent(0).getComponent(0)...) мне наконец удалось найти рассматриваемый компонент. Вот что я узнал:
Этот компонент называется InfoPanel и является частью Java API MATLAB. Само определение класса находится в:
MATLAB/R2018b/java/jar/hg.jar!/com/mathworks/hg/util/InfoPanel.class
Чтобы он появился, нам нужно вызвать метод staticaddBannerPanel, передав ему дескриптор фигуры:
com.mathworks.hg.util.InfoPanel.addBannerPanel( figure(randi(1E4)) );
Или другая подпись, которая также принимает настраиваемую панель:
jIP = com.mathworks.hg.util.InfoPanel;
jIP.setBackground(java.awt.Color(0.8, 0.7, 0.1));
com.mathworks.hg.util.InfoPanel.addBannerPanel( figure(randi(1E4)), jIP );
Параметр MATLAB, который контролирует, должно ли это появляться, - это showinteractioninfobar внутри <prefdir>/matlab.settings XML.
Похоже, что «интересные части» InfoPanel являются частными, что означает, что он практически не допускает каких-либо настроек (в основном некоторых цветов; не строки или значка), но должно быть довольно легко сделать копию этого класса и показать все элементы нам нужно.
Скорее всего, это чистая Java.