GUI resize pixel limit
6 views (last 30 days)
Show older comments
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 Comments
Answers (2)
Jan
on 25 Jul 2012
Edited: Jan
on 26 Jul 2013
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 Comments
Jan
on 26 Jul 2013
If you still wait for the answer: This is pure Matlab code and you can insert it directly to your code.
See Also
Categories
Find more on Migrate GUIDE Apps in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!