GUI resize pixel limit
6 次查看(过去 30 天)
显示 更早的评论
Hi, I am pretty new to Matlab and I am making a gui. I want the gui to be resizable. Everything works fine until someone tries to make the gui really small so all the panels and works get messed up. Is there anyway to stop the users from making the gui too small? Say setting 800*600 is the minimum one can resize it to. Thank you.
0 个评论
回答(2 个)
Jan
2012-7-25
编辑:Jan
2013-7-26
I've tried several methods without success to limit the size of a figure in the ResizeFcn. In older Matlab versions the event was triggered when the mouse is moved, while for newer versions the event appears, when the mouse is released. If a method worked when the resize-handle on the right bottom is dragged, it failed, when the left figure edge is dragged.
The only stable method I've found is the undocumented Java interface:
jFrame = get(handle(gcf), 'JavaFrame');
try
jProx = jFrame.fFigureClient.getWindow;
catch
jProx = jFrame.fHG1Client.getWindow; % [EDITED] Fallback
end
jProx.setMinimumSize(java.awt.Dimension(200, 200));
If TMW really decides to omit the JavaFrame property in the future, all these tricks become useless. Therefore please send a request to the technical support, that you use this feature and want it to be supported in the future, see http://www.mathworks.com/support/contact_us/dev/javaframe.html . When you get the reply, that figures and GUIs are not handles by Java, but by the faster, smarter and nicer Qt framework, please post this as soon as possible. :-)
2 个评论
Jan
2013-7-26
If you still wait for the answer: This is pure Matlab code and you can insert it directly to your code.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Migrate GUIDE Apps 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!