Does the base Matlab have something similar to Java's command 'setDefaul​tCloseOper​ation'?

1 view (last 30 days)
So for context, I have created a plot that simulates objects moving within a 2D plot with a bunch of other mechanics and whatnot, but I was specifically wondering if there was a way to stop the program, or for the program to be able to detect when the created plot window has been closed by the user? I have looked into the
status = close('all','hidden')
command from, but I don't entirely know the syntax of the command to get the result I'm looking for.
Thanks in advance. :)

Answers (2)

Bruno Luong
Bruno Luong on 17 Nov 2022
  2 Comments
Jordan
Jordan on 17 Nov 2022
The usage description is a bit confusing, do I have to create 2 more figures for the function to work properly?
Bruno Luong
Bruno Luong on 17 Nov 2022
No you set the callback 'DeleteFcn' of the speific figure where you want to detect the event when user close it.

Sign in to comment.


Steven Lord
Steven Lord on 17 Nov 2022
If you want to detect if a handle is a valid Handle Graphics object, use ishghandle.
f = figure;
f2 = figure;
x = 42;
close(f)
ishghandle([f, f2])
ans = 1×2 logical array
0 1
ishghandle(x)
ans = logical
0
f is not a valid handle because the figure has been deleted.
disp(f)
handle to deleted Figure
If you want to intercept the figure window closing (to avoid closing or to do something before closing the window) consider defining a CloseRequestFcn for your figure instead of a DeleteFcn. See the entry for this property in the Window Callback sections of the Figure properties or UI Figure properties documentation pages for more information.

Categories

Find more on Graphics Object Programming in Help Center and File Exchange

Products


Release

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!