matlab怎么让figure最大化

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/05 19:51:37
matlab怎么让figure最大化

matlab怎么让figure最大化
matlab怎么让figure最大化

matlab怎么让figure最大化

有几种方法,各有利弊:

1、使用一个老外Alain Trostel编的函数maximize,需要动态链接库支持,见附件.

这种方法与按窗口最大化按钮的效果相同,但在Win7上可能有问题(压缩包里有C程序源文件,可以根据操作系统自己重新编译).

 

2、使用下面的语句:

set(gcf,'outerposition',get(0,'screensize'));

窗口实际上占满全屏,但并非最大化的状态.据有人说,对双屏显示有问题,我没测.

 

3、使用

set(gcf,'Position',get(0,'ScreenSize'))

这个效果不太理想,窗口偏上.

 

4、保存下面的函数为getJFrame.m

function JFrame = getJFrame(hfig)
error(nargchk(1,1,nargin));
if ~ishandle(hfig) && ~isequal(get(hfig,'Type'),'figure')
    error('The input argument must be a Figure handle.');
end
mde = com.mathworks.mde.desk.MLDesktop.getInstance;
if isequal(get(hfig,'NumberTitle'),'off') && isempty(get(hfig,'Name'))
    figTag = 'junziyang'; %Name the figure temporarily
    set(hfig,'Name',figTag);
elseif isequal(get(hfig,'NumberTitle'),'on') && isempty(get(hfig,'Name'))
    figTag = ['Figure ',num2str(hfig)];
elseif isequal(get(hfig,'NumberTitle'),'off') && ~isempty(get(hfig,'Name'))
    figTag = get(hfig,'Name');
else
    figTag = ['Figure ',num2str(hfig),': ',get(hfig,'Name')];
end
drawnow %Update figure window
jfig = mde.getClient(figTag); %Get the underlying JAVA object of the figure.
JFrame = jfig.getRootPane.getParent();
if isequal(get(hfig,'Name'),'junziyang')
    set(hfig,'Name',''); %Delete the temporary figure name
end

然后调用:

jframe.setMaximized(1)

5、比4更简单一点的做法:

j = get(gcf,'javaframe');
set(j,'maximized',true);

注意:4和5两种方法似乎都要先创建窗口才行,在未创建窗口的情况下直接运行会报错.