How can I suppress warnings about javacomponent being deprecated?
36 views (last 30 days)
I've got a GUI that uses Java functionality and requires use of the javacomponent function. While javacomponent is still available, though, I'd like to suppress the warnings about it being removed in a future release. There's no warning shown in the editor, with mlint, or with checkcode, so I can't suppress the warning like usual.
Is there a way to suppress this particular warning?
Yair Altman on 22 Jan 2020
Edited: Yair Altman on 22 Jan 2020
Wrap your javacomponent code as follows:
oldWarningState = warning('off', 'MATLAB:ui:javacomponent:FunctionToBeRemoved');
[hjcomponent, hcontainer] = javacomponent(...);
warning(oldWarningState); % revert to displaying the warning
If you have multiple calls to javacomponent in your GUI code, you may wish to revert the warning state only at the end of your GUI creation code (take care to do it even in case of exceptions or early function bail-outs, so that you don't get stuck forever with the warning turned off.
If you want to permanently turn off this warning, run warning('off','MATLAB:ui:javacomponent:FunctionToBeRemoved') in your Matlab Command Window and then you won't need to modify the code at all.
General note: to know which warning identifier cause each warning that is displayed, run the following:
This will include the display of the warning ID ('MATLAB:ui:javacomponent:FunctionToBeRemoved' in this specific case) next to the warning message. For example:
Warning: JAVACOMPONENT will be removed in a future release. For more information see UI Alternatives for MATLAB Apps on mathworks.com.
(Type "warning off MATLAB:ui:javacomponent:FunctionToBeRemoved" to suppress this warning.)
More Answers (1)
Image Analyst on 21 Jan 2020
What is the exact error? Anyway, look in this function - maybe it's in there. If not, follow the instructions in the file to determine the code to turn off the warning.
% Turn off benign warnings that you usually don't care about.
% To set the warning state, you must first know the message identifier for the one warning you want to enable.
% Query the last warning to acquire the identifier. For example:
% warnStruct = warning('query', 'last')
% messageID = warnStruct.identifier
% messageID =
% Turn off this warning "Warning: Image is too big to fit on screen; displaying at 33% "
% Get rid of warning about directory already existing:
% "Warning: Directory already exists."
% Turn off note "Warning: Added specified worksheet." that appears in the command window.
% Get rid of warning about roipolyold being deprecated:
% "Warning: Function ROIPOLYOLD will be removed in the future. Use ROIPOLY instead"
% Get rid of warning about wavread() being deprecated:
% "Warning: WAVREAD will be removed in a future release. Use AUDIOREAD instead."
% Turn off warning about variable names being modified if you use readtable() to read in column headers that have spaces in them.
% "Warning: Variable names were modified to make them valid MATLAB identifiers."
% Turn off warning about JavaFrame being obsolete.
% "Warning: figure JavaFrame property will be obsoleted in a future release. For more information see http://www.mathworks.com/javaframe, the JavaFrame resource on the Mathworks web site."
errorMessage = sprintf('Error in function %s() at line %d.\n\nError Message:\n%s', ...
ME.stack(1).name, ME.stack(1).line, ME.message);
fprintf(1, '%s\n', errorMessage);
return; % from TurnOffWarnings