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

조회 수: 8 (최근 30일)
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. :)

답변 (2개)

Bruno Luong
Bruno Luong 2022년 11월 17일
  댓글 수: 2
Jordan
Jordan 2022년 11월 17일
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 2022년 11월 17일
No you set the callback 'DeleteFcn' of the speific figure where you want to detect the event when user close it.

댓글을 달려면 로그인하십시오.


Steven Lord
Steven Lord 2022년 11월 17일
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.

카테고리

Help CenterFile Exchange에서 Creating, Deleting, and Querying Graphics Objects에 대해 자세히 알아보기

제품


릴리스

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by