How can I get a string with a line break to be centered in a uicontrol?
조회 수: 12 (최근 30일)
이전 댓글 표시
I'm trying to center text with a line break in it in a figure, but the second line is never centered correctly. Here's an example:
f = figure('Position',[300,300,600,600]);
uicontrol('Parent',f,...
'Style','Text',...
'HorizontalAlignment','center',...
'Position',[20,300,560,280],...
'String',sprintf('This is a string that should be centered. It''s more apparent with longer lines.\nThis line definitely isn''t centered.'));
The second line is indented, but not centered. This is in R2020b if it matters. How can I get it to center correctly?
댓글 수: 2
Rik
2020년 12월 2일
Sometimes assigning a cellstr works better. I don't remember if this is such a case.
채택된 답변
Fangjun Jiang
2020년 12월 2일
I don't know why, but try and error and then got lucky.
%%
f = figure('Position',[300,300,600,600]);
uicontrol('Parent',f,...
'Style','Text',...
'HorizontalAlignment','center',...
'Position',[20,300,560,80],'backgroundcolor','r',...
'String',["This is a string that should be centered. It''s more apparent with longer lines.","Short line centered."]);
Comparing to
%%
f = figure('Position',[300,300,600,600]);
uicontrol('Parent',f,...
'Style','Text',...
'HorizontalAlignment','center',...
'Position',[20,300,560,80],'backgroundcolor','r',...
'String',['This is a string that should be centered. It''s more apparent with longer lines.',newline,'Short line not centered.']);
댓글 수: 0
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Characters and Strings에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!