如何在MatlabGUI中制作一个简单的无边框按钮
很简单,我试图在MatlabGUI中创建一个无边界按钮。原因主要是美学上的,所以没有必要争论为什么它应该是无边界的 我已经知道,这不能单独使用内置的MATLAB uicontrol来完成,因为按钮的边框在MATLAB中不是可访问的属性。因此,为了操纵边界,必须访问底层JAVA代码(编写MATLAB的代码)。这就是我迷路的地方,因为我只在MATLAB中编程过 我在这里举了一个例子: 但我仍然没有得到一个无边界按钮 下面是一个简单的代码示例(请注意,使用了Yair Altman的findjobj,可从MATLAB文件交换中获得):如何在MatlabGUI中制作一个简单的无边框按钮,matlab,user-interface,button,border,borderless,Matlab,User Interface,Button,Border,Borderless,很简单,我试图在MatlabGUI中创建一个无边界按钮。原因主要是美学上的,所以没有必要争论为什么它应该是无边界的 我已经知道,这不能单独使用内置的MATLAB uicontrol来完成,因为按钮的边框在MATLAB中不是可访问的属性。因此,为了操纵边界,必须访问底层JAVA代码(编写MATLAB的代码)。这就是我迷路的地方,因为我只在MATLAB中编程过 我在这里举了一个例子: 但我仍然没有得到一个无边界按钮 下面是一个简单的代码示例(请注意,使用了Yair Altman的findjobj,
你觉得我哪里出了问题吗?谢谢 我不清楚你说的“无边界”是什么意思 查看您发布的网页上的示例,我假设您正在寻找类似“隐形”按钮的东西
如果是的话,你可以考虑另一种方式:
- 除了按钮,您还可以有一个
静态文本uicontrol
- 使其
与GUI backgroundcolor相同(它将变得“不可见”且没有任何边框)backgroundcolor
- 不要在
静态文本uicontrol中设置任何
字符串
- 将
静态文本uicontrol的
属性设置为启用
关闭
- 为
静态文本uicontrol定义
按钮downfcn
- 按下
按钮DOWNFCN
静态文本uicontrol上按下鼠标按钮时,将执行其按钮downfcn
你只要记住。。。是“不可见”静态文本uicontrol
是
希望这有帮助。您应该添加两行:
jh.setBorderPainted(false);
jh.setContentAreaFilled(false);
边界受飞越外观功能的影响。
您需要添加
jh.setFlyOverAppearance(true);
对我有用。有趣的问题,但MATLAB GUI和美学不应在同一段落中使用;)谢谢你的反馈。所谓无边框,我的意思是它看起来就像漂浮在背景上的文本,没有任何包围文本的矩形。我确实考虑过使用静态文本UCONTROL来创建这种无边界的外观。静态文本uicontrol的问题是它给我带来了一个新问题。静态文本将自动与其矩形空间的顶部(而不是中心)对齐。这仍然需要在Java句柄对象上进行编辑,因为在MATLAB中,垂直文本对齐不是可访问的uicontrol属性。
jh.setFlyOverAppearance(true);