matlab gui实例_GUI可视化界面设计问题回答

c9a36f24cf40a760d77d90019c04a7e5.png

图图本次将解决关于GUI可视化界面设计的三个问题:

  • 1 如何更改GUI左上角的图标icon;
  • 2 如何隐藏GUI所有边框;
  • 3 如何将GUI界面最大化;
  • 4 如何模拟鼠标和键盘控制;

为了更加直观地展示,制作了简易GUI界面,如下图:

383bef1f246be4c82f8244561145e9fa.png

实现效果:

1d9ebae4beea65fd617b01a41df3f55d.png

7446e1d6ccf5a17d67c4c875e9ff17f1.png

37a1613d5ac5715a61b2dc6c117e47c5.png
下面依次说明

1 更改GUI的logo为指定图片

需要写在自己的GUI界面的创建回调中

98daabebdfbcb92011d6f5afbed047c0.png
Frame=get(hObject,'JavaFrame') %hObject是想改变的GUI句柄
set(Frame,'FigureIcon',javax.swing.ImageIcon('tutu.png')) %logo.jpg是自己的图标

2 隐藏GUI所有边框

  • isTran是用于记录边框是否隐藏的变量,存在控件中!
  • undecorateFigredecorateFig是一对反函数
isTran=getappdata(hObject,'isTran');
if isTran == 1
    undecorateFig(hObject.Parent)    
else
    redecorateFig(hObject.Parent)
end
setappdata(hObject,'isTran',~getappdata(hObject,'isTran'));

3 GUI界面最大化

首先需要打开GUI的可调节选项,再去调整大小 maxFigure即为最大化函数

set(hObject.Parent,'Resize','on');
maxFigure(hObject.Parent)
function maxFigure(figureHandle)

% 将figure窗口最大化
warning('off','MATLAB:HandleGraphics:ObsoletedProperty:JavaFrame');    % 关闭相关的警告提示(因为调用了非公开接口)
jFrame = get(figureHandle,'JavaFrame');    % 获取底层 Java 结构相关句柄吧
set(jFrame,'Maximized',1);    %设置其最大化为真(0 为假)

warning('on','MATLAB:HandleGraphics:ObsoletedProperty:JavaFrame');    % 打开相关警告设置

set(figureHandle,'Menu','none','Toolbar','none');

end

4 - 模拟鼠标和键盘控制;

% 首先在Matlab中添加以下代码,引用java.awt.Robot类,并实例化
import java.awt.Robot;
import java.awt.event.*;
robot = java.awt.Robot;
%%子函数区

PS:补充JAVA中的键盘控制命令

1f2b64074dad9d67c367f0f9d7653c43.png

如需完整的.m和.fig文件请看本人主页

未完待续...

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值