Как выровнять текст по верху кнопки в Matlab GUI? - PullRequest
5 голосов
/ 22 ноября 2011

У меня есть графический интерфейс с большими кнопками, и я хотел бы выровнять текст в кнопке сверху, все, что я нашел, это свойство "горизонтальное выравнивание". Спасибо ...

Ответы [ 2 ]

7 голосов
/ 22 ноября 2011

Вам необходим доступ к базовому компоненту 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 );

enter image description here

0 голосов
/ 22 ноября 2011

Боюсь, я думаю, что вы не можете этого сделать - текст всегда выравнивается по центру по центру на uicontrol. Единственные хаки, которые я могу придумать, могут достичь чего-то вроде того, что вы хотите, это

  1. Добавьте дополнительные символы возврата после основного текста, чтобы реальный текст оказался вверху, а весь текст по центру
  2. (ДЕЙСТВИТЕЛЬНО ужасно) Создайте изображение с текстом прямо вверху и используйте его со свойством CData кнопки.
...