Разверните ОКНО фигуры MATLAB, а не фигуру

Я хочу максимизировать окно фигуры, как если бы я щелкнул ее мышью, но не саму фигуру. Потому что все приемы увеличения фигуры действительно делают ее больше, но окно остается восстановленным, хотя и вписывается в фигуру.

Вот команда, которую я использую для увеличения фигуры:

figure ('units',' normalized', 'position', [0 0 1 1]);

Отличие увеличенного окна от развернутого заключается в следующем:

увеличено: введите здесь описание изображения

развернуто: введите здесь описание изображения

Посмотрите на правый верхний угол окна, где можно щелкнуть мышью, чтобы развернуть/восстановить, увидеть изменения. Посмотрите также, как развернутое окно плотно заполняет весь экран и не уходит под панель задач ни по цвету.

Спасибо.


person Multifix    schedule 02.01.2016    source источник
comment
Не могли бы вы опубликовать свой код, который вы написали до сих пор?   -  person ssuperczynski    schedule 02.01.2016
comment
figure ('units',' normalized', 'position', [0 0 1 1]) Это один из вариантов. Есть и другие, но все они обращаются к размеру фигуры, к которой соответственно подходит окно. Моя точка зрения состоит в том, чтобы максимизировать окно, чтобы фигура растягивалась.   -  person Multifix    schedule 02.01.2016
comment
Пожалуйста, отредактируйте вопрос, а не добавляйте код в комментарии. Также: пожалуйста, добавьте изображения с текущим и желаемым поведением, чтобы мы могли увидеть, что вы хотите.   -  person Adriaan    schedule 02.01.2016
comment
Я не понимаю разницы между фигурой и фигурным окном.   -  person excaza    schedule 02.01.2016
comment
@ Адриан, я добавил к вопросу более подробное объяснение.   -  person Multifix    schedule 03.01.2016
comment
@excaza, вы можете увидеть различие в том издании, которое я сделал для вопроса.   -  person Multifix    schedule 03.01.2016
comment
Формулировка вашего вопроса все еще невероятно неясна, но я думаю, что то, что вы ищете, обсуждается в эта недокументированная статья о MATLAB. Normalized единицы измерения верхнего уровня основаны на размере экрана и не учитывают, свернута ли панель задач Windows.   -  person excaza    schedule 03.01.2016
comment
@excaza, предоставленная вами статья точно ответила на мой вопрос, спасибо. Мне нужна была следующая команда: figureHandle.JavaFrame.setMaximized(true); Где figureHandle — переменная, хранящая дескриптор фигуры. Хотя есть еще некоторая проблема, потенциально критическая. Свойство JavaFrame будет устаревшим в будущем выпуске Matlab, как указано в предупреждении команды. Warning: figure JavaFrame property will be obsoleted in a future release. For more information see the JavaFrame resource on the MathWorks web site. mathworks.com/support/contact_us/dev/javaframe.html   -  person Multifix    schedule 03.01.2016
comment
Вам придется пересечь этот мост, когда он придет.   -  person excaza    schedule 04.01.2016


Ответы (1)


Ответ можно найти в следующей статье, любезно предоставленной пользователем excaza:
http://undocumentedmatlab.com/blog/minimize-maximize-figure-window

По сути, он сводится к управлению свойством фигуры JavaFrame. Он отсутствует в ручке, скрыт от пользователя, поэтому просто действуйте так, как будто он есть.

Обратите внимание на фактор паузы, описанный в комментариях к статье. Без него ничего не работает, из-за некоторых проблем с Java, связанных с нехваткой времени между вызовом фигуры и готовностью Java.
В комментариях предлагается добавить перед максимизацией/минимизацией drawnow; pause(0.1);. У меня работает без drawnow;. Кроме того, любой бесконечно малый аргумент будет работать для паузы, например, pause(1e-1000000);.

person Multifix    schedule 04.01.2016
comment
Обратите внимание, что это официально не поддерживается Matlab, а это означает, что все может измениться внезапно и неожиданно. Тем не менее я могу понять вашу проблему. Я тоже был там (в пустынном море неподдерживаемых функций Matlab) так или иначе. Тем не менее, никакое программное обеспечение не может поддерживать все, и я ценю, что Matlab позволяет пользователю использовать неподдерживаемые функции. - person patrik; 04.01.2016