При отключении видимости компонента java swing на рисунке Matlab прямоугольник остается - PullRequest
0 голосов
/ 10 июля 2020

У меня проблемы с JProgressBar в фигуре Matlab. Мой код выглядит следующим образом:

figure('color',[1 1 1]);
plot(gca, [0 1],[0 1])
pb = javaObjectEDT('javax.swing.JProgressBar');
javacomponent(pb, [0 0 300 30], gcf);
pb.setVisible(false)

Когда видимость индикатора выполнения установлена ​​на false, остается серый прямоугольник, закрывающий график. Я попытался отключить индикатор выполнения или удалить его, но не смог сделать это с помощью методов объекта. Есть ли у кого-нибудь идеи, как удалить его, когда его не видно?

1 Ответ

0 голосов
/ 10 июля 2020
• 1000 как только он будет найден, используя delete(fig.Children(1)) или любой другой индекс индикатора выполнения. Кажется, что, несмотря на порядок добавления к рисунку, объект JavaWrapper всегда является первым дочерним элементом, поэтому, возможно, именно поэтому он выделяется, даже когда невидим. При использовании этого с UIFigure или другими компонентами пользовательского интерфейса порядок компонентов зависит от порядка создания компонентов, и впоследствии порядок может быть изменен. Можно использовать uistack(uicomp, 'top') для перемещения компонентов на передний план (но не для перемещения индикатора выполнения назад; Matlab говорит, что «Родитель» индикатора выполнения недоступен)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...