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

7 visualizzazioni (ultimi 30 giorni)
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. :)

Risposte (2)

Bruno Luong
Bruno Luong il 17 Nov 2022
  2 Commenti
Jordan
Jordan il 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 il 17 Nov 2022
No you set the callback 'DeleteFcn' of the speific figure where you want to detect the event when user close it.

Accedi per commentare.


Steven Lord
Steven Lord il 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.

Categorie

Scopri di più su Creating, Deleting, and Querying Graphics Objects in Help Center e File Exchange

Prodotti


Release

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by