【问题标题】:How to align text to the top of the button in Matlab GUI?如何在 Matlab GUI 中将文本与按钮顶部对齐?
【发布时间】:2012-01-03 18:17:57
【问题描述】:

我有一个带有大按钮的 GUI,并且希望将按钮中的文本对齐到顶部,我发现的只是“水平对齐”属性。 谢谢...

【问题讨论】:

    标签: user-interface matlab button alignment matlab-guide


    【解决方案1】:

    你需要访问底层的Java Swing组件(我使用的是FINDJOBJ函数):

    figure('Menubar','none', 'Position',[200 200 300 200])
    h = uicontrol('Style','pushbutton', 'String','click', ...
       'Units','normalized', 'Position',[0.3 0.3 0.5 0.5]);
    jh = findjobj(h);
    jh.setVerticalAlignment( javax.swing.AbstractButton.BOTTOM );
    

    【讨论】:

    • +1 @Amro,我想当我向下滚动时,这将是 Yair Altman 的回答。比我建议的黑客要好得多。
    • 这是真的,我从 Yair 的 blog 学到了很多关于所有未记录的事情
    • @Amro 谢谢,它正在工作!您是否知道一种仅对齐文本而不对齐放置的图像的方法: set(handles.button,'cdata',icon);谢谢!
    • @Amro,非常感谢,对于像我这样想知道其他方式的人,您可以换掉 jh.setVerticalAlignment( javax.swing.AbstractButton.BOTTOM );与 jh.setHorizo​​ntalAlignment(javax.swing.AbstractButton.LEFT);
    【解决方案2】:

    恐怕我认为你不能这样做 - 文本始终垂直对齐在 uicontrol 的中间。我能想到的唯一可能实现你想要的东西的黑客是

    1. 在正文之后添加额外的返回字符,以便真正的文本位于顶部,而整个文本保持居中
    2. (真的太可怕了)创建一个顶部带有文本的图像,并将其与按钮的CData 属性一起使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-10
      • 1970-01-01
      • 2013-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-07
      • 1970-01-01
      相关资源
      最近更新 更多