问题

Matlab 画图过程中,经常有需要全屏展示内容的时候。但是 Maltab 默认提供的 figure 参数中并不能原生控制创建窗口的最大化。

百度网上大多给出的解决方案是:

SIZE = get(0);                  % 获取显示屏的像素尺寸
h = figure();                  % 创建图形窗口
set(h, 'outerposition', SIZE);    % 设置图形窗口位置和外尺寸为屏幕大小

或者:

SIZE = get(0);              % 获取显示屏的像素尺寸
h = figure();              % 创建图形窗口
set(h, 'position', SIZE); % 设置图形窗口位置尺寸为屏幕大小

不管是设置 'outerposition' 还是 'position',都会发现最后创建的图形窗口并不是常规意义上的最大化(右上角的最大化按钮并没有激活),并且图像的位置下部会超出状态栏,上部也可能会超出屏幕边界,两侧也会留有缝隙。

解决方案

Baidu 不行,就换 Google。

终于找到目前最完美解决这个问题的方法,调用 Matlab 隐藏的 Java 底层接口。代码如下:

h = figure();               % 创建图形窗口
warning('off','MATLAB:HandleGraphics:ObsoletedProperty:JavaFrame'); % 关闭相关的警告提示(因为调用了非公开接口)
jFrame = get(h,'JavaFrame'); % 获取底层 Java 结构相关句柄吧
pause(0.1);                 % 在 Win 10,Matlab 2017b 环境下不加停顿会报 Java 底层错误。各人根据需要可以进行实验验证
set(jFrame,'Maximized',1);    %设置其最大化为真(0 为假)
pause(0.1);                 % 个人实践中发现如果不停顿,窗口可能来不及变化,所获取的窗口大小还是原来的尺寸。各人根据需要可以进行实验验证
warning('on','MATLAB:HandleGraphics:ObsoletedProperty:JavaFrame');      % 打开相关警告设置

参考

1: Undocumented Matlab
2: MatlabCentral - Minimize/maximize figure window

Matlab Figure 窗口最大化方法相关推荐

  1. Matlab figure窗口背景颜色修改为白色

    Matlab figure窗口背景颜色修改白色 MATLAB figure窗口背景颜色默认是灰色,如下图 修改figure窗口的背景 在命令行窗口中输入以下代码并回车 set(0,'defaultfi ...

  2. matlab GUI窗口最大化,以及控件大小和字体自适应

    1.GUI 窗口最大化 双击除控件外的空白处(视图)>属性检查器>resize>on即可. 设置完这个,当放大的时候,会发现我们控件的位置没有变化.此时我们需要设置一个. 工具> ...

  3. matlab figure 视图最大化

    只需要在对应figure后添加: set(gcf,'outerposition',get(0,'screensize'));

  4. matlab中大figure怎样修改,操作Matlab的Figure窗口(一)

    以前,我和很多人一样,总是将数据保存到mat文件中.后来突然发现,如果数据量不大的话,直接将Figure窗口中的图形保存为fig文件是更好的选择.fig文件与一般的图像文件不同,并不是由图像的像素构成 ...

  5. matlab figure 嵌套,操作Matlab的Figure窗口(一)

    以前,我和很多人一样,总是将数据保存到mat文件中.后来突然发现,如果数据量不大的话,直接将Figure窗口中的图形保存为fig文件是更好的选择.fig文件与一般的图像文件不同,并不是由图像的像素构成 ...

  6. matlab figure 怎么用,操作Matlab的Figure窗口(一)

    以前,我和很多人一样,总是将数据保存到mat文件中.后来突然发现,如果数据量不大的话,直接将Figure窗口中的图形保存为fig文件是更好的选择.fig文件与一般的图像文件不同,并不是由图像的像素构成 ...

  7. matlab scope 怎么调出,Matlab Figure图形保存以及Simulink中Scope窗口调出figure菜单

    1.我们使用Matlab绘制出数据的各种图形需要保存的时候,不少同学是直接用屏幕截图的办法来做的,但这样出来的图并不清晰,不便于后续应用和处理,并且往往不符合发表论文的要求,很多论文是要求用 .eps ...

  8. MATLAB figure最大化

    MATLAB figure最大化 设置figure大小 设置画面显示的位置和大小 希望对大家有帮助 最近想做一个东西,希望让MATLAB汇出的图充满整个屏幕,在网上找了很多资料都不是很理想.下面是自己 ...

  9. matlab示波器模拟,[转载]利用MATLAB命令窗口绘制Simulink仿真示波器波形的方法

    利用MATLAB命令窗口绘制Simulink仿真示波器波形的方法 最近写了一篇有关步进电机控制仿真分析的文章,需要将一部分仿真波形图贴到WORD里面去.但贴图时发现,如果直接将simulink中示波器 ...

最新文章

  1. 【语法】点语法的应用
  2. VMware Workstation 与 Device/Credential Guard 不兼容。在禁用 Device/Credential Guard 后,可以运行 VMware Workstati
  3. vue-router组件重用 路由切换时的问题
  4. python logging详解及自动添加上下文信息
  5. PDI(Kettle)加速插入数据的速度
  6. linux删除一个目录下的所有空文件
  7. GT-suite v2016的下载和安装
  8. 一步步教你搭建自己的云服务器,(鉴于网上一大堆文章,看这一篇就够了)
  9. Linux学习(一) —— 各个文件夹的作用
  10. 测绘人真实故事 | 放弃上万月薪从私企跳回国企
  11. 磁盘与文件系统管理详解
  12. “海外传播官”阿乐:让20万外国粉丝通过我“在中国生活”
  13. Traffic Server Net子系统分析
  14. Windows故障恢复控制台教程
  15. 【git】You have not concluded your merge (MERGE_HEAD exists).
  16. 当面试官问:JS中原始类型有哪些?
  17. 理解ConstraintLayout性能上的好处(转载,仅供学习)
  18. C语言扫雷函数成绩,C语言实现扫雷
  19. VBA+ADO查询ACCESS数据库
  20. 国开《医药商品营销实务》形考任务1 作业1 欧题库答案

热门文章

  1. 《智能制造》总结报告
  2. 微软windows7正版化(算你狠)授权过期解决方案
  3. 那些年,我用过的虚拟主机
  4. iOS图片转成视频方法
  5. java获取字典所有的key_java字典,多层字典,斗地主发牌,实例展示
  6. ubuntu编辑只读文件
  7. 如何查看Mac电脑的操作系统是32位还是64位?
  8. matlab绘制图形hold on_Matlab中的命令hold on hold off
  9. c语言里的下划线的作用,关于下划线,你应该了解的几个特殊用途
  10. 使用Lombok的@AllArgsConstructor注解依赖注入时出现的错误解决