matlab怎么让figure最大化
3个回答
展开全部
有几种方法,各有利弊:
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两种方法似乎都要先创建窗口才行,在未创建窗口的情况下直接运行会报错。
展开全部
最大化就实现figure与屏幕大小一致,所以可以先获取屏幕大小,之后将figure的位置属性设置为获取到的屏幕大小。
具体实现方法可以参考如下程序段:
% figure 窗口最大化,坐标轴也随着窗口变大而相应变大
scrsz = get(0,'ScreenSize'); % 是为了获得屏幕大小,Screensize是一个4元素向量[left,bottom, width, height]
set(gcf,'Position',scrsz); % 用获得的screensize向量设置figure的position属性,实现最大化的目的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2021-09-24
展开全部
f1 = figure(1);
f1.WindowState = 'maximized';
f1.WindowState = 'maximized';
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询