很简单,我试图在MATLAB GUI中创建一个无边框按钮。原因主要是美学,所以不需要就为什么它应该是无边界进行辩论。
我已经知道单独使用内置的MATLAB uicontrol无法做到这一点,因为按钮的边框不是MATLAB中的可访问属性。因此,必须访问底层JAVA代码(在其上编写MATLAB)以操纵边界。这是我迷失的地方,因为我只在MATLAB中编程。
我从这里跟着一个例子: http://undocumentedmatlab.com/blog/borderless-button-used-for-plot-properties
但我仍然没有获得无边框按钮。
这是一个简单的代码示例(注意使用Yair Altman的findjobj,可在MATLAB文件交换中使用):
cout << "What's your name ?"; cin >> name;
我对哪里出错了?谢谢!
答案 0 :(得分:1)
你要添加两行:
jh.setBorderPainted(false);
jh.setContentAreaFilled(false);
答案 1 :(得分:0)
我不清楚你对“无国界”的意思。
查看您发布的网页上的示例,我假设您正在寻找类似“隐形”按钮的内容。
如果是这样,您可以考虑这种替代方式:
static text uicontrol
backgroundcolor
与GUI backgroundcolor相同(它将变为“不可见”且没有任何边框)string
static text uicontrol
enable
的{{1}}属性设置为static text uicontrol
off
static text uicontrol
ButtonDownFcn
当您在“隐身”ButtonDownFcn
上按下鼠标按钮时,其static text uicontrol
将会被执行。
你必须记住......是“看不见的”ButtonDownFcn
。
希望这有帮助。
答案 2 :(得分:0)
边界受到飞越外观功能的影响。 http://undocumentedmatlab.com/blog/undocumented-button-highlighting 你需要添加
jh.setFlyOverAppearance(true);
为我工作。